Scala krotka
A listy, krotki jest niezmienna, ale lista różni się od krotką mogą zawierać różne rodzaje elementów.
Wartość krotka jest zawarty pojedynczej wartości w nawiasach konstytucji. Na przykład:
val t = (1, 3.14, "Fred")
Przykładami tych trzech elementów są zdefiniowane w krotce odpowiadającej typu są [Int, dwu, java.lang.String].
Ponadto, mogą być również zdefiniowane za pomocą powyższej metody:
val t = new Tuple3(1, 3.14, "Fred")
Konkretny rodzaj krotka, w zależności od rodzaju jego elementy, takie jak: (99 "w3big") jest Tuple2 [Int, String]. ( "U", "R", "the", 1, 4, "mnie") jest Tuple6 [Char, Char, String, Int, Int, String].
Obecnie maksymalna długość krotka wsparcie Scala 22. Przy większych długościach można użyć krotki zbieraniem lub przedłużaczy.
Elementy dostępu krotkowe może być wskaźnik numeryczny, a krotki:
val t = (4,3,2,1)
Możemy wykorzystać pierwszy element t._1 dostępu t._2 dostępu do drugiego elementu, w następujący sposób:
object Test { def main(args: Array[String]) { val t = (4,3,2,1) val sum = t._1 + t._2 + t._3 + t._4 println( "元素之和为: " + sum ) } }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test 元素之和为: 10
iteracyjny krotka
Można użyć metodyTuple.productIterator () iteracyjne nad wszystkimi elementami krotek wyjściowych:
object Test { def main(args: Array[String]) { val t = (4,3,2,1) t.productIterator.foreach{ i =>println("Value = " + i )} } }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test Value = 4 Value = 3 Value = 2 Value = 1
Krotka do łańcucha
Można użyćTuple.toString () Metoda łączy w sobie wszystkie elementy krotki do łańcucha, przykłady przedstawiają się następująco:
object Test { def main(args: Array[String]) { val t = new Tuple3(1, "hello", Console) println("连接后的字符串为: " + t.toString() ) } }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test 连接后的字符串为: (1,hello,scala.Console$@4dd8dc3)
Element przełączający
Można użyć metody doTuple.swap elementem wymiany krotki.Następujące przykłady:
object Test { def main(args: Array[String]) { val t = new Tuple2("www.google.com", "www.w3big.com") println("交换后的元组: " + t.swap ) } }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test 交换后的元组: (www.w3big.com,www.google.com)