scala> val (a, b) = ("hello", Set(1, 2, 3))
a: String = hello
b: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
scala> b.to[List].map(e => (a, e))
res0: List[(String, Int)] = List((hello,1), (hello,2), (hello,3))
Просто помните, что Set
не сохраняет порядок.
Edit (использование в преобразованиях):
scala> case class Movie(i: String, g: Set[String], t: String, y: String)
defined class Movie
scala> val movies = List(Movie("a", Set("a", "b", "c"), "a", "a"), Movie("b", Set("d", "e", "f"), "b", "b"))
movies: List[Movie] = List(Movie(a,Set(a, b, c),a,a), Movie(b,Set(d, e, f),b,b))
scala> movies.map{case Movie(i, g, t, y) => (t, g.to[List])}.map{case (str, list) => list.map(e => (str, e))}
res1: List[List[(String, String)]] = List(List((a,a), (a,b), (a,c)), List((b,d), (b,e), (b,f)))