2016-10-12 4 views
1

저는 스칼라를 처음 접했습니다. 나는 자바 LinkedHashMap을 스칼라에서 상응하는 컬렉션 (LinkedHashMap?)으로 변환하여 삽입 순서를 유지하려고 노력했다.Java LinkedHashMap을 Scala LinkedHashMap으로 변환하는 방법?

다른 스레드에서 제안 된대로 다음을 시도했지만 아무 것도 작동하지 않습니다!

scalaAsMap()이 - 순서

TreeMap() 어지럽히 - 등 종류의 키, 값은, 뭔가 내가 작동하지 않습니다

명시 적 변환을 찾고 있어요되지 않습니다.

val f = new java.util.LinkedHashMap[String, java.util.Map[String, String]] 

var g: scala.collection.mutable.LinkedHashMap[String, java.util.Map[String, String]] = f 
+1

JavaConverters를 사용하십시오. 이 [doc] (http://docs.scala-lang.org/overviews/collections/conversions-between-java-and-scala-collections.html) – balaudt

답변

2

흠,에 대한 방법 :

val javaMap = new java.util.LinkedHashMap[String, String]() 
val scalaMap = javaMap.asScala 

scalaMap의 종류는 [문자열, 문자열]지도하지만 후드 단지의 LinkedHashMap처럼 동작합니다.

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. – miniscule001

+0

javaMap.asScala는 java 맵의 순서를 유지합니다. – miniscule001

+0

그러나 이것은 Map을 일반 맵으로 변환합니다. 다음 오류를 참조하십시오 : 형식 불일치; 발견 : scala.collection.Map [String, scala.collection.mutable.Map [String, String]] 필수 항목 : scala.collection.mutable.Map [String, scala.collection.mutable.Map [String, String]] – miniscule001