Интересно, как идиоматически повторить java.util.HashSet
в Scala. В настоящее время я использую итераторы java в цикле while, который не кажется отличным.
Кроме того, мне интересно, эффективен ли изменяемый расширяемый буфер или есть ли возможность избежать создания ненужных объектов.
import java.util
import scala.collection.generic.Growable
import scala.collection.mutable
val javaSet = new util.HashSet[String]()
javaSet.add("first")
javaSet.add("second")
val result: collection.Seq[String] with Growable[String] = mutable.Buffer[String]()
val itr = javaSet.iterator
while (itr.hasNext) {
result += itr.next
}
result
редактировать
stream
будет лучше? Apache Spark: эффективное использование mapPartitions в Java