Ich bin auf der Suche nach einer Möglichkeit zur effizienten Umwandlung von Inhalt und Art der Sammlung.Scala Sammlungen: Inhalt und Art der Sammlung in einem Durchgang zu transformieren
Zum Beispiel map
auf eine Set
anwenden und das Ergebnis als List
erhalten.
Beachten Sie, dass ich die Ergebnissammlung beim Anwenden der Transformation auf die Quellensammlung erstellen möchte (d. H. Ohne Zwischensammlung erstellen und dann in den gewünschten Typ transformieren).
Bisher habe ich mit diesem kommen (für Set
wird in List
umgewandelt, während jedes Element des set
Inkrementieren):
val set = Set(1, 2, 3)
val cbf = new CanBuildFrom[Set[Int], Int, List[Int]] {
def apply(from: Set[Int]): Builder[Int, List[Int]] = List.newBuilder[Int]
def apply(): Builder[Int, List[Int]] = List.newBuilder[Int]
}
val list: List[Int] = set.map(_ + 1)(cbf)
... aber ich fühle mich wie sollte es mehr kurz und elegant Möglichkeit, dies zu tun (ohne manuell CanBuildFrom
jedes Mal zu implementieren, wenn ich dies tun muss).
Irgendwelche Ideen, wie man das macht?
wow das ist unglaublich gut kennt ! – Jean