В данной статье мы рассмотрим кортежи (Tuples) в Scala. Кортеж – это структура данных, которая объединяет определённое количество элементов одного или нескольких типов.
Для создания кортежа используется запись следующего вида:
val имя_коллекции = ("Some String", 100500, "#FFFFFF");
Для понимания того, как это работает на практике, рассмотрим простой пример:
package net.proselyte.scalatutorial.collections
/**
* Simple Scala class that demonstrates Tuples in Scala.
*
* @author Eugene Suleimanov
*/
object TupleDemo {
def main(args: Array[String]) {
val simpleTuple = ("String", 100500, "#FFFFFF");
println("simpleTuple: ")
simpleTuple.productIterator.foreach { element => println("Element: " + element) };
val integerTuple = (1, 2, 3);
val integerTupleSum = integerTuple._1 + integerTuple._2 + integerTuple._3;
println("integerTuple: " + integerTuple);
println("integerTupleSum: " + integerTupleSum);
val stringTuple = new Tuple2("First", "Second");
println("stringTuple: " + stringTuple);
println("Swapped integerTuple: " + stringTuple.swap);
}
}
Результат выполнения данной программы будет следующим:
simpleTuple:
Element: String
Element: 100500
Element: #FFFFFF
integerTuple: (1,2,3)
integerTupleSum: 6
stringTuple: (First,Second)
Swapped integerTuple: (Second,First)
Process finished with exit code 0
На этом мы заканчиваем обзор кортежей в Scala.