У мене така структура в Scala:
import java.util.ArrayList
val array = new ArrayList[ArrayList[String]]
// ... add values to array
Тепер мені потрібно це перетворити Seq[Seq[String]]
, як цього можна досягти?
Відповіді:
2 для відповіді № 1Ви можете зробити наступне,
import scala.collection.JavaConversions._
val array = new ArrayList[ArrayList[String]]
val seq: Seq[Seq[String]] = array.map(_.toSeq)
...
Дайте мені знати, чи допоможе це, ура.
1 для відповіді № 2
Друге рішення з використанням явних перетворень:
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, будь ласка, прочитайте:
Яка різниця між JavaConverters та JavaConversions у Scala?