13
Jak mogę przekształcić listę krotek List[(A,B)]
w krotkę list (List[A], List[B])
?Scala przekształcić listę krotek w krotkę list
Próbowałem dla następujących ale wygląda surowy i miałem nadzieję istnieje lepszy sposób to zrobić
val flat: List[AnyRef] = aAndB.map{ x =>
x.map(y => List(y._1, y._2))
}.flatMap(x => x)
val typeA: List[A] = flat.filter {
case x: A => true
case _ => false
}.map(_.asInstanceOf[A])
val typeB: List[B] = flat.filter {
case x: B => true
case _ => false
}.map(_.asInstanceOf[B])
Dla wyższych arii można użyć [kolekcji produktów] (https://github.com/marklister/product-collections) –