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;