Scala tupla
E listas, tuplos imutável é, mas a lista é diferente de um tuplo pode conter diferentes tipos de elementos.
Valor tupla é contido por um único valor na Constituição parênteses. Por exemplo:
val t = (1, 3.14, "Fred")
Exemplos dos três elementos acima referidos são definidos no tuplo correspondente ao tipo são [Int, duas vezes, java.lang.String].
Além disso, também pode ser definida usando o método acima:
val t = new Tuple3(1, 3.14, "Fred")
O tipo tupla real depende do tipo dos seus elementos, tais como (99, "w3big") é Tuple2 [Int, String]. ( 'U', 'r', "a", 1, 4, "me") é Tuple6 [Char, Char, String, Int, Int, String].
Atualmente, o máximo apoio comprimento tupla Scala é de 22. Para comprimentos maiores, você pode usar as tuplas de colheita ou de extensão.
elementos uplos acesso pode ser índice numérico, como uma tupla:
val t = (4,3,2,1)
Podemos usar o primeiro elemento t._1 acesso, t._2 aceder ao segundo elemento, como se 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 ) } }
Implementação do código acima, a saída é:
$ scalac Test.scala $ scala Test 元素之和为: 10
tuple iterativa
Você pode usar o métodoTuple.productIterator () para iterar sobre todos os elementos das tuplas de saída:
object Test { def main(args: Array[String]) { val t = (4,3,2,1) t.productIterator.foreach{ i =>println("Value = " + i )} } }
Implementação do código acima, a saída é:
$ scalac Test.scala $ scala Test Value = 4 Value = 3 Value = 2 Value = 1
Tupla em uma string
Pode utilizarTuple.toString () método combina todos os elementos do tuplo em uma cadeia, os exemplos são os seguintes:
object Test { def main(args: Array[String]) { val t = new Tuple3(1, "hello", Console) println("连接后的字符串为: " + t.toString() ) } }
Implementação do código acima, a saída é:
$ scalac Test.scala $ scala Test 连接后的字符串为: (1,hello,scala.Console$@4dd8dc3)
Dispositivo de comutação
Você pode usar o método paraTuple.swap elemento de troca de tupla.Os exemplos que se seguem:
object Test { def main(args: Array[String]) { val t = new Tuple2("www.google.com", "www.w3big.com") println("交换后的元组: " + t.swap ) } }
Implementação do código acima, a saída é:
$ scalac Test.scala $ scala Test 交换后的元组: (www.w3big.com,www.google.com)