목록 [java.util.Map]을 스칼라로 표시하는 방법 [Map]으로 변환하는 방법은 무엇입니까?목록 [java.util.Map]을 목록으로 변환하는 방법
oldList :
List[java.util.Map[String,String]]
wantedList는 :
List[Map[String,String]]
나는 목록 [지도] 및 루프 oldList 새로운해야합니까?
감사합니다.
목록 [java.util.Map]을 스칼라로 표시하는 방법 [Map]으로 변환하는 방법은 무엇입니까?목록 [java.util.Map]을 목록으로 변환하는 방법
oldList :
List[java.util.Map[String,String]]
wantedList는 :
List[Map[String,String]]
나는 목록 [지도] 및 루프 oldList 새로운해야합니까?
감사합니다.
스칼라 컬렉션 패키지의 변환기 메서드를 사용하십시오. 블라디미르 Matveev이
wantedList=oldList.map(_.asScala)
을 언급 당신은 scala.collection.JavaConversions
정적 인 방법을 사용할 수 있기
:
import scala.collection.JavaConverters._
oldList: List[java.util.Map[String,String]]
wantedList= oldList.asScala
편집 : 이것은 변환하는 방법을 보여주는 샘플입니다. 이것은 표준 자바 컬렉션에서 암시 적 변환을 추가하고이 같은 일을 수행 할 수 있습니다 (의 우리가 이미 scala.collection.JavaConversions._
을 REPL을 열어 가져온 가정하자) :
scala > x
res1: java.util.HashMap[String,String] = {1=2}
scala> x.toMap
res2: scala.collection.immutable.Map[String,String] = Map(1 -> 2)
당신은 다음과 같은 특정 문제를 해결할 수 :
res5: list: List[java.util.HashMap[String, String]] =()
scala > list.map(e => e.toMap)
res6: List[scala.collection.immutable.Map[String,String]] =()
JavaConverters는 Scala 2.9.0부터 사용되지 않고 Scala 2.11-M1에서 제거되었으므로을 사용하면 안됩니다. 대신 WrapAsScala
모듈을 가진 scala.collection.convert
패키지가 있습니다. 그것은 암시 적 변환을 가지고 있습니다. dictionaryAsScalaMap
'JavaConverters'의 일부 멤버는 비추천되었지만'JavaConverters'는 일반적으로 * 사용되지 않습니다 *. – sourcedelica
@sourcedelica [JavaConverters] (https://github.com/scala/scala/blob/v2.10.0/src/library/scala/collection/JavaConverters.scala) 모든 멤버는 더 이상 사용되지 않습니다. – 4lex1v
내부 멤버는 deprecated하지만'DecorateAsJava'와'DecorateAsScala'에서 상속받은 것은 없습니다. 'JavaConverters'' 객체 자체는 아니었고,'import JavaConverters._'는 이전처럼 작동합니다. 예 : 당신은'jmap.asScala'을 할 수 있습니다. – sourcedelica
전체 방향 ('JavaConverters'의 사용법)은 정확 합니다만, 목록에서이 메소드를 호출하는 것이 아니라'asScala'를 사용하여리스트를 통해 매핑해야합니다 :'oldList.map (_ .asScala)' –