Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将java.util.Map转换为Scala列表[NewObject]_Scala - Fatal编程技术网

将java.util.Map转换为Scala列表[NewObject]

将java.util.Map转换为Scala列表[NewObject],scala,Scala,我有一个java.util.Map[String,MyObject],并希望创建一个Scala列表[MyNewObject],其中包含映射的所有条目以及一些特殊值 我找到了一个方法,但这真的很难看: val result = ListBuffer[MyNewObject]() myJavaUtilMap.forEach ( (es: Entry[String, MyObject]) => { result += MyNewObject(es.getKey(), ey

我有一个java.util.Map[String,MyObject],并希望创建一个Scala列表[MyNewObject],其中包含映射的所有条目以及一些特殊值

我找到了一个方法,但这真的很难看:

val result = ListBuffer[MyNewObject]()
myJavaUtilMap.forEach
  (
   (es: Entry[String, MyObject]) => 
      { result += MyNewObject(es.getKey(), ey.getValue().getMyParameter); println("Aa")}
  )
我怎样才能摆脱println(“Aa”)?仅仅删除并没有帮助,因为foreach需要一个使用者,但+=操作会生成一个列表


是否有一种更优雅的方式将java.util.Map转换为列表[MyNewObject]?

Scala的转换为您提供了java集合上Scala集合API的所有优秀方法:

import collection.JavaConversions._
val result = myJavaUtilMap.map{
  case (k,v) => MyNewObject(k, v.getMyParameter)
}.toList
顺便说一下:要定义返回单位的函数,可以显式指定返回类型:

val f = (x: Int)  => x: Unit

Scala的转换为您提供了Java集合上Scala集合API的所有优秀方法:

import collection.JavaConversions._
val result = myJavaUtilMap.map{
  case (k,v) => MyNewObject(k, v.getMyParameter)
}.toList
顺便说一下:要定义返回单位的函数,可以显式指定返回类型:

val f = (x: Int)  => x: Unit

您应该推荐Java转换器,而不是Java转换。您应该推荐Java转换器,而不是Java转换。