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

Tuple Scala

Collections Scala

Comme les listes, les tuples sont immuables, mais contrairement aux listes, les tuples peuvent contenir des éléments de types différents.

Les valeurs du tuple sont constituées en incluant des valeurs individuelles entre parenthèses. Par exemple :

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

Les exemples ci-dessus définissent trois éléments dans le tuple, les types correspondants étant [Int, Double, java.lang.String].

De plus, nous pouvons également définir de la sorte :

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

Le type réel du tuple dépend du type de ses éléments, par exemple (99, "w3codebox") est un Tuple2[Int, String]. ('u', 'r', "the", 1, 4, "me") est un Tuple6[Char, Char, String, Int, Int, String].

Actuellement, Scala prend en charge la longueur maximale des tuples de 22. Pour une longueur plus grande, vous pouvez utiliser un ensemble ou étendre le tuple.

Accéder aux éléments d'un tuple par index numérique, comme le tuple suivant :

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

Nous pouvons utiliser t._1 Accéder au premier élément, t._2 Accéder au deuxième élément, comme indiqué ci-dessous :

object Test {
   def main(args: Array[String]) {
      val t = (4,3,2,1)
      val sum = t._1 + t._2 + t._3 + t._4
      println( "La somme des éléments est: "  + sum )
   }
}

Exécuter le code suivant, le résultat est :

$ scalac Test.scala 
$ scala Test
La somme des éléments est: 10

Itérer le tuple

Vous pouvez utiliser Tuple.productIterator() Méthode pour itérer et afficher tous les éléments du tuple :

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

Exécuter le code suivant, le résultat est :

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

Tuple en chaîne

Vous pouvez utiliser Tuple.toString() La méthode combine tous les éléments du tuple en une chaîne de caractères, voici un exemple :

object Test {
   def main(args: Array[String]) {
      val t = new Tuple3(1, "hello", Console)
      
      println("La chaîne de caractères connectée est: " + t.toString() )
   }
}

Exécuter le code suivant, le résultat est :

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

Échange d'éléments

Vous pouvez utiliser Tuple.swap Méthode pour échanger les éléments de la paire. Voici un exemple :

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

Exécuter le code suivant, le résultat est :

$ scalac Test.scala 
$ scala Test
Tupple échangé: (fr.oldtoolbag.com,www.google.com)

Collections Scala