T-08 Listen

Listen sind wie Behälter um mehrere Werte oder Variable zu speichern.

Du kannst eine Liste mit Zahlen z.B. wie folgt definieren:

val a = List(1, 2, 3)
println(a)

oder eine Liste mit Namen (String-Werten):

val names = List("Hans", "Fred", "Caroline")

Um auf ein Listen-Element zuzugreifen kannst du folgenden Befehl brauchen:

names(0)
// Hans

Beachte: Die Listen-Elemente starten immer bei 0, also das erste Element ist an der Position 0.

Die Grösse einer Liste kannst du mit length herausfinden:

names.length
// 3

Mit dem foreach-Befehl kannst du z.B. die einzelnen Listen-Elemente ausgeben:

names.foreach(element => println(element))

oder auch mit einer einfachen for Schleife:

for( a <- names ){
  println(a);
}

Mit der Methode filter kann man bestimmte Listen-Elemente rausfiltern.

Beispiel: Du willst nur die geraden Zahlen ausgeben:

val zahlen = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val geradeZahlen = zahlen.filter(x => x % 2 == 0)
// List(2, 4, 6, 8, 10)

oder mit dem obigen Beispiel mit den Namen, wenn du nur bestimmte Namen in einer neuen Liste haben möchtest, kannst du folgendes schreiben:

val neueNamen = names.filter(aName => aName.equals("Fred") || aName.equals("Caroline"))

Mit der map Methode kannst du eine Funktion auf die einzelnen Listen-Elemente anwenden.

Beispiel: Du möchtest eine neue Liste haben mit der Quadrat Zahl von jedem einzelnen Element.

val zahlen = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val quadratZahlen = zahlen.map(x => x * x)
// List(1, 4, 9, 16, 25, 36, 49, 64, 81, 100)

Weitere Links: