Scala Tuple
Wie Listen sind Tupel unveränderlich, aber im Gegensatz zu Listen können Tupel Elemente unterschiedlichen Typs enthalten.
Ein Tupelwert wird gebildet, indem einzelne Werte in Klammern eingeschlossen werden. Zum Beispiel:
val t = (1, 3.14, "Fred")
Das obige Beispiel definiert drei Elemente im Tupel mit den entsprechenden Typen [Int, Double, java.lang.String].
Darüber hinaus können wir es auch auf folgende Weise definieren:
val t = new Tuple3(1, 3.14, "Fred")
Der tatsächliche Typ eines Tupels hängt von den Typen seiner Elemente ab. Zum Beispiel ist (99, "example") Tuple2[Int, String], und ('u', 'r', "the", 1, 4, "me") ist Tuple6[Char, Char, String, Int, Int, String].
Derzeit unterstützt Scala Tupel mit einer maximalen Länge von 22. Für größere Längen können Sie Sammlungen verwenden oder Tupel erweitern.
Sie können auf die Elemente eines Tupels über einen numerischen Index zugreifen, wie beim folgenden Tupel:
val t = (4,3,2,1)
Wir können t._1 verwenden, um auf das erste Element zuzugreifen, und t._2, um auf das zweite Element zuzugreifen, wie unten gezeigt:
Beispiel
def main(args: Array[String]) {
val t = (4,3,2,1)
val sum = t._1 + t._2 + t._3 + t._4
println( "The sum of elements is: " + sum )
}
}
Nach der Ausführung des obigen Codes lautet das Ausgabeergebnis:
$ scalac Test.scala $ scala Test 元素之和为: 10
Iterieren über ein Tupel
Du kannst dieTuple.productIterator()Methode verwenden, um über alle Elemente des Tupels zu iterieren und sie auszugeben:
Beispiel
def main(args: Array[String]) {
val t = (4,3,2,1)
t.productIterator.foreach{ i =>println("Wert = " + i )}
}
}
Nach der Ausführung des obigen Codes lautet das Ausgabeergebnis:
$ scalac Test.scala $ scala Test Value = 4 Value = 3 Value = 2 Value = 1
Ein Tupel in eine Zeichenkette umwandeln
Du kannst dieTuple.toString()Methode verwenden, um alle Elemente des Tupels zu einer einzigen Zeichenkette zusammenzufügen, wie im folgenden Beispiel:
Beispiel
def main(args: Array[String]) {
val t = new Tuple3(1, "hello", Console)
println("Die verkettete Zeichenkette ist: " + t.toString() )
}
}
Nach der Ausführung des obigen Codes lautet das Ausgabeergebnis:
$ scalac Test.scala $ scala Test 连接后的字符串为: (1,hello,scala.Console$@4dd8dc3)
Elemente austauschen
Du kannst dieTuple.swapMethode verwenden, um die Elemente des Tupels zu vertauschen. Wie im folgenden Beispiel:
Beispiel
def main(args: Array[String]) {
val t = new Tuple2("www.google.com", "www.example.com")
println("Tupel nach dem Vertauschen: " + t.swap )
}
}
Nach der Ausführung des obigen Codes lautet das Ausgabeergebnis:
$ scalac Test.scala $ scala Test 交换后的元组: (www.example.com,www.google.com)Andere Erweiterungen
Scala Collections