Scala 元组
Scala元组将固定数量的项组合在一起,以便作为一个整体传递。与数组或列表不同,元组可以容纳具有不同类型的对象,但它们也是不可变的。
以下是一个包含整数、字符串和控制台的元组的示例。
这是以下语法糖(快捷方式)的缩写:
元组的实际类型取决于它所包含元素的数量和类型。因此,(99, “Luftballons”) 的类型是 Tuple2[Int, String]。(‘u’, ‘r’, “the”, 1, 4, “me”) 的类型是 Tuple6[Char, Char, String, Int, Int, String]
元组分为 Tuple1、Tuple2、Tuple3 等等。Scala 目前对元组的上限为 22,如果需要更多的元素,你可以使用集合,而不是元组。对于每个类型是 TupleN 的 TupleN,其中 1 ≤ N ≤ 22,Scala 定义了一些元素访问方法。给定以下定义 −
要访问元组 t 的元素,您可以使用 t._1 方法来访问第一个元素,t._2 方法来访问第二个元素,依此类推。例如,以下表达式计算 t 的所有元素的和。
使用Tuple可以编写一个方法,该方法接受一个List[Double],并以三个元素的元组Tuple3[Int, Double, Double]的形式返回计数、总和和平方和。它们还可以在并发编程中作为消息在actor之间传递数据值列表。
请尝试以下示例程序。它演示了如何使用元组。
示例
保存上述程序为 Demo.scala 。以下命令用于编译和执行该程序。
输出
遍历元组
您可以使用 Tuple.productIterator() 方法来遍历元组的所有元素。
尝试以下示例程序来遍历元组。
示例
将上述程序保存在 Demo.scala 中。以下命令用于编译和执行该程序。
命令
结果
转换成字符串
你可以使用 Tuple.toString() 方法将元组的所有元素连接成字符串。尝试以下示例程序转换为字符串。
示例
将上述程序保存在 Demo.scala 中。以下命令用于编译和执行此程序。
命令
输出
交换元素
你可以使用 Tuple.swap 方法来交换Tuple2的元素。
试用以下示例程序来交换元素。
示例
将上述程序保存在 Demo.scala 中。以下命令用于编译和执行该程序。