La respuesta tiene dos partes. La primera parte es que los métodos de argumento variable de Scala que toman una T * son un azolve sobre los métodos que toman Seq [T]. Le dices a Scala que trate una Seq [T] como una lista de argumentos en lugar de un solo argumento usando "seq: _ *".
La segunda parte consiste en convertir una Colección [T] en una Seq [T]. Todavía no existe una forma general de hacerlo en las bibliotecas estándar de Scala, pero una manera muy fácil (si no necesariamente eficiente) de hacerlo es llamando a Array. Aquí hay un ejemplo completo.
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)
Nota del scala.Predef.Set y scala.collection.immutable.HashSet son sinónimos.
Como resulta que no puedo hacer esto porque mi colección "interior" es en realidad una instancia de java.util. Lista, no una Scala Seq. He hecho esta pregunta como seguimiento: http://stackoverflow.com/questions/674713/converting-java-collection-into-scala-collection –