English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tupla do Scala

Conjunto do Scala

Como lista, o tupla é imutável, mas, ao contrário da lista, pode conter elementos de tipos diferentes.

Os valores do tupla são compostos por valores individuais contidos entre parênteses curvos. Por exemplo:

val t = (1, 3.14, "Fred")

Os exemplos acima definem três elementos no tupla, cujos tipos correspondem a [Int, Double, java.lang.String].

Além disso, também podemos definir da seguinte forma:

val t = new Tuple3(1, 3.14, "Fred")

O tipo real do tupla depende do tipo de seus elementos, por exemplo (99, "w3codebox") é um Tupla2[Int, String]. ('u', 'r', "the", 1, 4, "me") é um Tupla6[Char, Char, String, Int, Int, String].

Atualmente, o Scala suporta o comprimento máximo de tupla de 22Para comprimentos maiores, você pode usar conjuntos ou estender o tupla.

Acessar os elementos do tupla através de índices numéricos, conforme o seguinte tupla:

val t = (4,3,2,1)

Podemos usar t._1 Acessar o primeiro elemento, t._2 Acessar o segundo elemento, conforme mostrado:

object Test {
   def main(args: Array[String]) {
      val t = (4,3,2,1)
      val soma = t._1 + t._2 + t._3 + t._4
      println("A soma dos elementos é: "  + soma )
   }
}

Executar o código acima, o resultado será:

$ scalac Test.scala 
$ scala Test
A soma dos elementos é: 10

Iteração de Tupla

Você pode usar Tuple.productIterator() Método para iterar e exibir todos os elementos de uma tupla:

object Test {
   def main(args: Array[String]) {
      val t = (4,3,2,1)
      
      t.productIterator.foreach{ i =>println("Valor = " + i )}
   }
}

Executar o código acima, o resultado será:

$ scalac Test.scala 
$ scala Test
Valor = 4
Valor = 3
Valor = 2
Valor = 1

Conversão de Tupla para String

Você pode usar Tuple.toString() O método combina todos os elementos de uma tupla em uma string, conforme o exemplo a seguir:

object Test {
   def main(args: Array[String]) {
      val t = new Tuple3(1, "hello", Console)
      
      println("A string conectada é: " + t.toString() )
   }
}

Executar o código acima, o resultado será:

$ scalac Test.scala 
$ scala Test
1,hello,scala.Console$@4dd8dc3)

Troca de Elementos

Você pode usar Tuple.swap Método para trocar os elementos de uma tupla. Abaixo está um exemplo:

object Test {
   def main(args: Array[String]) {
      val t = new Tuple2("www.google.com", "pt.oldtoolbag.com")
      
      println("Tupla trocada: " + t.swap )
   }
}

Executar o código acima, o resultado será:

$ scalac Test.scala 
$ scala Test
Tupla trocada: (pt.oldtoolbag.com,www.google.com)

Conjunto do Scala