/ / Konwertuj java.util.ArrayList na Seq w Scala - scala

Konwertuj java.util.ArrayList na Seq w Scala - scala

Mam następującą strukturę w Scali:

import java.util.ArrayList
val array = new ArrayList[ArrayList[String]]

// ... add values to array

Teraz muszę to przekonwertować Seq[Seq[String]], Jak można to osiągnąć?

Odpowiedzi:

2 dla odpowiedzi № 1

Możesz wykonać następujące czynności,

import scala.collection.JavaConversions._
val array = new ArrayList[ArrayList[String]]
val seq: Seq[Seq[String]] = array.map(_.toSeq)
...

Daj mi znać, jeśli to pomoże, na zdrowie.


1 dla odpowiedzi nr 2

Drugie rozwiązanie wykorzystujące jawne konwersje:

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)

Aby wyjaśnić różnicę między Java JavaConverters a JavaConversions, przeczytaj:

Jaka jest różnica między JavaConverters a JavaConversions w Scali?