我在Scala中有以下结构:
import java.util.ArrayList
val array = new ArrayList[ArrayList[String]]
// ... add values to array现在,我需要将它转换为Seq[Seq[String]],这是如何实现的?
发布于 2018-04-13 02:59:31
你可以做以下事情,
import scala.collection.JavaConversions._
val array = new ArrayList[ArrayList[String]]
val seq: Seq[Seq[String]] = array.map(_.toSeq)
...如果这有帮助,请告诉我,干杯。
发布于 2018-04-13 08:19:47
使用显式转换的第二种解决方案:
import scala.collection.JavaConverters._
import java.util.ArrayList
val array = new ArrayList[ArrayList[String]]
// Mutable, default conversion for java.util.ArrayList
val mutableSeq : Seq[Seq[String]] = array.asScala.map( _.asScala)
// Immutable, using toList on mutable conversion result
val immutableSeq : Seq[Seq[String]] = array.asScala.toList.map( _.asScala.toList)要澄清Java JavaConverters和JavaConversions之间的区别,请阅读:
发布于 2021-05-14 17:57:58
scala.collection.JavaConverters._被削弱了。最新的方法是:
import scala.collection.JavaConversions._
val a = asScalaBuffer(array)现在,您可以将a转换为任何集合。
to        toBuffer       toIterable   toList   toParArray   toSet      toString        toVector
toArray   toIndexedSeq   toIterator   toMap    toSeq        toStream   toTraversable像这样
val b = a.toSeq这里是一个完整的教程
https://stackoverflow.com/questions/49808592
复制相似问题