Scala中的元组

Scala元组

元组是一种数据结构,其具有多个元件。Scala元组的元素可以或可以不是相同的数据类型。

Scala的元组是不可变的,即,不同类型的对象可以被存储在元组,但这些对象的值不能被改变。元组可以具有的杂项元素的最大数量为22。

您可以在scala程序中轻松使用元组进行使用。定义元组的语法:

    val tuple_name = (data1, data2, data3, ...);

这是定义元组的快捷方式。您可以通过提及其tuple类来定义一个,该类就是tuples,其中n是该元组具有的元素数。例如,

    val tuple_name = new tuple2(data1, data2);

还有一种使用->运算符定义元组的方法:

    val tuple_name = 'data1' -> 'data2';

访问元组的元素

用于访问元组元素的访问方法非常简单方便。要不访问元素。n,您必须输入tuple._n,其中tuple是元组的名称,并提取n元素。

例如,如果需要获取元组t的6元素,则将键入t._6进行访问。

解释元组的初始化和访问的代码

object MyClass {
    def main(args: Array[String]) {
        val student = ("Ram", 10 ,92.4)
        println("Student name : "+student._1+" of the Standard "+student._2+" has scored "+student._3+"%")
    }
}

输出结果

Student name : Ram of the Standard 10 has scored 92.4%

一些有用的元组方法及其语法

1)tuple.productIterator()

它用于遍历元组的元素。

语法:

tuple.productIterator();

2)tuple.toString()

它用于将元组的所有元素连接成一个字符串。

语法:

tuple.toString();

3)tuple.swap()

它用于交换元组的两个元素。

语法:

tuple.swap();

用于说明元组方法的示例代码

object MyClass {
    def main(args: Array[String]) {
        val student = ("Ram", 10);
        student.productIterator.foreach(println);
        var tuplestring = student.toString;
        println("\nThe concatenated string is"+tuplestring);
        val studentswap = student.swap;
        println("The swapped tuple is "+studentswap);
    }
}

输出结果

Ram
10

The concatenated string is(Ram,10)
The swapped tuple is (10,Ram)

使用名称访问变量

为了便于访问,您可以选择分配一个元组名称的元素,以供以后调用它们。当元组中有少量元素时,此方法非常有用。记住逻辑上匹配的名称比记住数字更容易。例如,一个元组有5个元素,名称是3个元素。要访问名称,记住单词比记住单词更容易。

语法:

    def student  = ("Ram", 16, 76.12)    val(name, age, percent) = getUserInfo;