Как делает scala.collection.JavaConversions
замените ответы, данные в Итерации вопроса о Переполнении стека по наборам Java в Scala (она не работает, потому что "jcl" пакета не стало), и в Итерации по Карте с Scala (она не работает на меня в сложном тесте, который я попытаюсь изложить кратко и отправить здесь позже).
Последний является на самом деле вопросом о Карте Scala, но я думаю, что должен знать оба ответа для итерации по a java.util.Map
.
В версии 2.8 вы импортируете scala.collection.JavaConversions ._
и используете его в качестве карты Scala. Вот пример (в 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
Если вам нужен итератор Scala, используйте jmap.iterator
(после импорта преобразований).