Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.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
Scala从Java iterable初始化集合_Scala - Fatal编程技术网

Scala从Java iterable初始化集合

Scala从Java iterable初始化集合,scala,Scala,在scala中,如何以干净的惯用方式从JavaIterable初始化scala集合 这里有一些蹩脚的代码,它采用了一种不太实用的方法: var collection = Seq[MyClass]() while (iterator.hasNext) { val asArray: Array[String] = iterator.next.toArray val val2 = asArray(2) val val3 = asArray(3) collection = coll

在scala中,如何以干净的惯用方式从JavaIterable初始化scala集合

这里有一些蹩脚的代码,它采用了一种不太实用的方法:

var collection = Seq[MyClass]() 

while (iterator.hasNext) { 
  val asArray: Array[String] = iterator.next.toArray
  val val2 = asArray(2)
  val val3 = asArray(3)
  collection = collection :+ new MyClass(val2, val3)
}

如何以更惯用的方式从Java iterable初始化集合?

Scala可以无缝地在Java集合之间进行转换,前提是您已导入以下转换帮助程序:

import scala.collection.JavaConverters._

val collection = iterator.asScala.map{ x =>
  val asArray = x.toArray
  new MyClass(asArray(2), asArray(3))
}.toIndexedSeq
import scala.collection.JavaConversions._
val jl = new java.util.ArrayList[String]()
jl.add("Hello")
jl.add("There")

val collection = j1.map{ x => new MyClass(x(2), x(3)) }.toList