Scala 将Java的双精度列表转换为Scala中的索引序列的程序
背景介绍
在Java代码中,我们经常会用到List
解决方案
我们需要实现一个函数,将一个Java列表转换为Scala数组。具体的代码实现如下:
import scala.collection.JavaConversions._
import scala.collection.mutable.ArrayBuffer
def javaDoubleListToScalaArray(javaList:java.util.List[Double]):Array[Double]={
val buffer = new ArrayBuffer[Double]()
buffer ++= javaList
buffer.toArray
}
通过上面的代码,我们首先将Java List转化为Scala ArrayBuffer,再使用++=符号将Java List中的所有值加入到Scala ArrayBuffer中,最后使用toArray方法将可变数组buffer转化为Scala数组。
下面是一个使用示例,注意在测试时使用了import语句,以方便引用Java库中的List类型。
import java.util.{List => JList, ArrayList}
val javaList:JList[Double] = new ArrayList[Double]()
javaList.add(1.0)
javaList.add(2.0)
javaList.add(3.0)
val scalaArray:Array[Double] = javaDoubleListToScalaArray(javaList)
scalaArray.foreach(println)
结论
经过上述代码的实现,我们已经可以非常方便地将Java的双精度列表转换为Scala中的索引序列(Array[Double]),实现数据结构的无缝对接。