Чего новый путь состоит в том, чтобы выполнить итерации по Карте Java в Scala 2.8.0?

Как делает scala.collection.JavaConversions замените ответы, данные в Итерации вопроса о Переполнении стека по наборам Java в Scala (она не работает, потому что "jcl" пакета не стало), и в Итерации по Карте с Scala (она не работает на меня в сложном тесте, который я попытаюсь изложить кратко и отправить здесь позже).

Последний является на самом деле вопросом о Карте Scala, но я думаю, что должен знать оба ответа для итерации по a java.util.Map.

36
задан Community 23 May 2017 в 10:30
поделиться

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 (после импорта преобразований).

80
ответ дан 27 November 2019 в 05:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: