/ / Перетворити java.util.ArrayList у Seq у Scala - scala

Перетворіть java.util.ArrayList на Seq в Scala - scala

У мене така структура в 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?