scala.collection.JavaConversions
Stack Overflowの質問で与えられた回答をどのように置き換えるのかScala で Java コレクションを反復処理する(「jcl」パッケージがなくなったため動作しません)そしてScala で Map を反復処理する(複雑なテストではうまくいかなかったので、後で要約してここに投稿しようと思います)。
後者は実際には Scala Map の質問ですが、 を反復処理するには両方の答えを知る必要があると思いますjava.util.Map
。
ベストアンサー1
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
(変換のインポート後) を使用します。