/  Scala /  Scala Grundlagen /  Scala Sprache /  Tuple

Stand: 2. Novenber 2011

Einstieg

Ein Tuple ist eine Datenstruktur, die Objekte verschiedener Typen aufnehmen kann. Ein Tuple eignet sich im Besonderen als Rückgabetyp, wo das Ergebnis aus mehreren unterschiedlichen Objekten besteht. Das nachfolgende Beispiel zeigt die Erzeugung eines Tuple mit Int und String Werten:

val myTuple = (1, "text1", "text2", 3)
                      

Der Zugriff auf die Elemente eines Tuple erfolgt über vordefinierte Methoden. Alle Methoden beginnen mit einem Unterstrich gefolgt vom 1 - basierenden Index des entsprechenden Elements. Im nachfolgenden Skript wird ein Tuple der Variablen myTuple zugewiesen. Im Anschluss erfolgt die Ausgabe der einzelnen Elemente des Tuples.

val myTuple = (1, "text1", "text2", 3)
println(myTuple._1)
println(myTuple._2)
println(myTuple._3)
println(myTuple._4)
itmapa.de - X2H V 0.6

Die Ausführung des Skriptes führt zu folgender Ausgabe:

1
text1
text2
3
                      

Der tatsächliche Typ eines Tuples ist abhägig von seiner Elementzahl. So ist der oben erzeugte Tuple ein Tuple vom Typ Tuple4. Das nachfolgende Beispiel zeigt die Erzeugung eines Tuple3:

val myTuple3 = (1, "txt", 3)
                      

Zurzeit sind in Scala Tuples für eine maximale Anzahl von 22 (Tuple22) Elementen definiert.



Pair, Triple

Tuple2 und Tuple3 werden auch als Pair bzw. Triple bezeichnet. Die Klasse Predef definiert dementsprechend die Typen Pair und Triple. Die beiden Typen sind keine eigenen Klassen sondern nur Typdefinitionen für Tuple2 und Tuple3

In der nachfolgenden REPL Sitzung werden ein Pair und ein Triple definiert.

scala> val myPair = Pair("Berlin","Germany")
myPair: (java.lang.String, java.lang.String) = (Berlin,Germany)
          
scala> val myTriple = Triple("Meier",1960,"Berlin")
myTriple: (java.lang.String, Int, java.lang.String) = (Meier,1960,Berlin)
itmapa.de - X2H V 0.11