Es gibt zwei Teile zur Antwort. Der erste Teil ist, dass Scala-Variable-Argument-Methoden, die ein T * nehmen, ein Sugaring gegenüber Methoden sind, die Seq [T] verwenden. Sie sagen Scala, dass sie eine Seq [T] als eine Liste von Argumenten anstatt eines einzelnen Arguments mit "seq: _ *" behandeln soll.
Der zweite Teil konvertiert eine Sammlung [T] in eine Seq [T]. Es gibt noch keine allgemeine Möglichkeit, Scala-Standardbibliotheken zu erstellen, aber eine sehr einfache (wenn nicht sogar effiziente) Methode ist das Aufrufen von Array. Hier ist ein komplettes Beispiel.
scala> val lst : java.util.Collection[String] = new java.util.ArrayList
lst: java.util.Collection[String] = []
scala> lst add "hello"
res0: Boolean = true
scala> lst add "world"
res1: Boolean = true
scala> Set(lst.toArray : _*)
res2: scala.collection.immutable.Set[java.lang.Object] = Set(hello, world)
Notiere die scala.Predef.Set und scala.collection.immutable.HashSet sind Synonyme.
Wie ich dies nicht tun können, stellt sich heraus, weil meine „innere“ Sammlung tatsächlich eine Instanz von java.util ist. Liste, keine Scala Seq. Ich habe diese Frage als Follow-up gestellt: http://stackoverflow.com/questions/674713/converting-java-collection-into-scala-collection –