2016-10-12 8 views
1

Я новичок в Scala. Я пытаюсь преобразовать java LinkedHashMap в эквивалентную коллекцию (LinkedHashMap?) В Scala, чтобы сохранить порядок вставки.Как преобразовать 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 является Map [String, String], но под капотом он ведет себя так же, как LinkedHashMap.

+0

Привет, спасибо за ответ. – miniscule001

+0

javaMap.asScala сохраняет порядок java-карты. – miniscule001

+0

Однако это преобразует карту в обычную карту. См. Следующую ошибку: тип несоответствия; найдено: scala.collection.Map [String, scala.collection.mutable.Map [String, String]] требуется: scala.collection.mutable.Map [String, scala.collection.mutable.Map [String, String]] – miniscule001

Смежные вопросы