Scalas Standardbibliothek hat unveränderliche Collections: List, Vector, Set, Map. Mit Methoden wie map, filter, foldLeft, sum, sortBy, groupBy verarbeitest du Daten, ohne Schleifen zu schreiben. Ein neuer Wert entsteht, die alte Collection bleibt unverändert.
for-Ausdrücke (for-comprehensions) kombinieren mehrere Collections lesbar.
val zahlen = List(5, 2, 9, 4)
val gerade = zahlen.filter(_ % 2 == 0)
val doppelt = zahlen.map(_ * 2)
println(gerade) // List(2, 4)
println(zahlen.sorted) // List(2, 4, 5, 9)
println(zahlen.foldLeft(0)(_ + _))
val punkte = Map("mia" -> 10, "tom" -> 7)
println(punkte.get("mia")) // Some(10)
println(punkte.getOrElse("x", 0)) // 0Merke
- Collections sind standardmäßig unveränderlich
map,filter,foldLeftstatt Schleifen_steht für den einen Parameter eines Lambdas
Aufgabe
Summiere die Quadrate aller geraden Zahlen einer Liste.