scala.collection.breakOut vs ansichten
Diese SO Antwort beschreibt wiescala.collection.breakOut
kann verwendet werden, um zu verhindern, dass verschwenderische Zwischensammlungen erstellt werden. Zum Beispiel erstellen wir hier ein ZwischenproduktSeq[(String,String)]
:
val m = List("A", "B", "C").map(x => x -> x).toMap
Durch die NutzungbreakOut
Wir können die Entstehung dieser Zwischenstufe verhindernSeq
:
val m: Map[String,String] = List("A", "B", "C").map(x => x -> x)(breakOut)
Views lösen das selbe Problem und zusätzlich träge Zugriffselemente:
val m = (List("A", "B", "C").view map (x => x -> x)).toMap
Ich übernehme die Schaffung derView
Wrapper sind ziemlich billig, daher lautet meine Frage: Gibt es einen wirklichen Grund, sie zu verwenden?breakOut
ÜberView
s?