Scala tuple
E liste, tuple è immutabile, ma la lista è diversa da una tupla può contenere diversi tipi di elementi.
Valore tuple è contenuto da un singolo valore nella costituzione parentesi. Ad esempio:
val t = (1, 3.14, "Fred")
Esempi dei suddetti tre elementi sono definiti nella tupla corrispondente al tipo sono [Int, doppio, java.lang.String].
Inoltre, possiamo anche essere definito utilizzando il metodo di cui sopra:
val t = new Tuple3(1, 3.14, "Fred")
Il tipo di tuple effettivo dipende dal tipo dei suoi elementi, come ad esempio (99, "w3big") è Tuple2 [Int, String]. ( 'U', 'r', "il", 1, 4, "me") è Tuple6 [Char, Char, String, int, int, String].
Attualmente la lunghezza tupla massimo supporto Scala è 22. Per lunghezze superiori è possibile utilizzare le tuple di raccolta o di estensione.
Elementi tuple accesso può essere indice numerico, come una tupla:
val t = (4,3,2,1)
Possiamo utilizzare il primo elemento t._1 accesso, t._2 accedere al secondo elemento, come segue:
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 ) } }
L'attuazione del codice di cui sopra, l'output è:
$ scalac Test.scala $ scala Test 元素之和为: 10
tuple iterativo
È possibile utilizzare il metodoTuple.productIterator () per iterare su tutti gli elementi delle tuple di uscita:
object Test { def main(args: Array[String]) { val t = (4,3,2,1) t.productIterator.foreach{ i =>println("Value = " + i )} } }
L'attuazione del codice di cui sopra, l'output è:
$ scalac Test.scala $ scala Test Value = 4 Value = 3 Value = 2 Value = 1
Tupla in una stringa
È possibile utilizzareTuple.toString () metodo combina tutti gli elementi della tupla in una stringa, esempi sono i seguenti:
object Test { def main(args: Array[String]) { val t = new Tuple3(1, "hello", Console) println("连接后的字符串为: " + t.toString() ) } }
L'attuazione del codice di cui sopra, l'output è:
$ scalac Test.scala $ scala Test 连接后的字符串为: (1,hello,scala.Console$@4dd8dc3)
elemento di commutazione
È possibile utilizzare il metodo perTuple.swap elemento di scambio della tupla.I seguenti esempi:
object Test { def main(args: Array[String]) { val t = new Tuple2("www.google.com", "www.w3big.com") println("交换后的元组: " + t.swap ) } }
L'attuazione del codice di cui sopra, l'output è:
$ scalac Test.scala $ scala Test 交换后的元组: (www.w3big.com,www.google.com)