scala language-features scala-2.8

¿Cuál es la nueva forma de iterar sobre un mapa de Java en Scala 2.8.0?



language-features scala-2.8 (1)

En 2.8, usted importa scala.collection.JavaConversions._ y lo usa como un mapa de Scala. Aquí hay un ejemplo (en 2.8.0.RC1):

scala> val jmap:java.util.Map[String,String] = new java.util.HashMap[String,String] jmap: java.util.Map[String,String] = {} scala> jmap.put("Hi","there") res0: String = null scala> jmap.put("So","long") res1: String = null scala> jmap.put("Never","mind") res2: String = null scala> import scala.collection.JavaConversions._ import scala.collection.JavaConversions._ scala> jmap.foreach(kv => println(kv._1 + " -> " + kv._2)) Hi -> there Never -> mind So -> long scala> jmap.keys.map(_.toUpperCase).foreach(println) HI NEVER SO

Si desea específicamente un iterador de Scala, use jmap.iterator (después de la importación de conversiones).

Cómo reemplaza scala.collection.JavaConversions las respuestas dadas en Stack Overflow question Iterando sobre colecciones Java en Scala (no funciona porque el paquete "jcl" se ha ido) y en Iterar sobre Map with Scala (no funciona para yo en una prueba complicada que trataré de reducir y publicar aquí más tarde).

Esta última es en realidad una pregunta del Mapa de Scala, pero creo que necesito conocer ambas respuestas para poder repetir una java.util.Map .