リスト[java.util.Map]をリスト[マップ]に変換する方法は?
古いリスト:
List[java.util.Map[String,String]]
指名手配リスト:
List[Map[String,String]]
List[Map] を新しくして oldList をループする必要がありますか?
ありがとう!
リスト[java.util.Map]をリスト[マップ]に変換する方法は?
古いリスト:
List[java.util.Map[String,String]]
指名手配リスト:
List[Map[String,String]]
List[Map] を新しくして oldList をループする必要がありますか?
ありがとう!
Scala コレクション パッケージのコンバーター メソッドを使用します。これは、変換方法を示すサンプルです。
import scala.collection.JavaConverters._
oldList: List[java.util.Map[String,String]]
wantedList= oldList.asScala
編集:
ウラジミール・マトベーエフが述べたように
wantedList=oldList.map(_.asScala)
JavaConverters は Scala 2.9.0 以降非推奨となり、Scala 2.11-M1で削除されました。 使用しないでください。代わりにscala.collection.convert
、モジュールを含むパッケージがありますWrapAsScala
。暗黙の変換がありますdictionaryAsScalaMap
scala.collection.JavaConversions
静的メソッドを使用できます。これは、標準の Java コレクションからの暗黙的な変換を追加し、次のようなことを実行できるようにします (既に REPL を開いて import したと仮定しましょうscala.collection.JavaConversions._
):
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]] = ()