Scala从Java iterable初始化集合
在scala中,如何以干净的惯用方式从JavaIterable初始化scala集合 这里有一些蹩脚的代码,它采用了一种不太实用的方法: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
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