元组定义
元组一般用来存储多个不同类型的值。例如同时存储姓名,年龄,性别,出生年月这些数据, 就要用到元组来存储了。并且元组的长度和元素都是不可变的。
定义格式:
- 格式一: 通过小括号实现
- val/var 元组 = (元素1, 元素2, 元素3…)
- 格式二: 通过箭头来实现
- val/var 元组 = 元素1->元素2
- 注意: 上述这种方式, 只适用于元组中只有两个元素的情况.
代码示例:
- 定义一个元组,包含学生的姓名和年龄.
- 分别使用小括号以及箭头的方式来定义元组.
object 元组 {
def main(args: Array[String]): Unit = {
//1. 定义一个元组,包含学生的姓名和年龄.
//2. 分别使用小括号以及箭头的方式来定义元组.
val tuple1 = ("张三", 23)
val tuple2 = "张三" -> 23
println(tuple1)
println(tuple2)
}
}
(张三,23)
(张三,23)
访问元组中的元素
在Scala中, 可以通过 元组名._编号 的形式来访问元组中的元素,_1表示访问第一个元素,依次类推.也可以通过 元组名.productIterator 的方式, 来获取该元组的迭代器, 从而实现遍历元组.
格式:
格式一: 访问元组中的单个元组.
println(元组名._1) //打印元组的第一个元素.
println(元组名._2) //打印元组的第二个元组.
...
格式二: 遍历元组
val tuple1 = (值1, 值2, 值3, 值4, 值5...) //可以有多个值
val it = tuple1.productIterator //获取当前元组的迭代器对象
for(i <- it) println(i) //打印元组中的所有内容.
代码示例:
- 定义一个元组,包含一个学生的姓名和性别,“zhangsan”, “male”
- 分别获取该学生的姓名和性别, 并将结果打印到控制台上。
object 元组遍历 {
def main(args: Array[String]): Unit = {
//1. 定义一个元组,包含一个学生的姓名和性别,"zhangsan", "male"
val tuple1 = "zhangsan" -> "male"
//2. 分别获取该学生的姓名和性别
// 方式一: 通过 _编号 的形式实现.
println(s"姓名: ${tuple1._1}, 性别: ${tuple1._2}")
//方式二: 通过迭代器遍历的方式实现.
// 获取元组对应的迭代器对象.
val it = tuple1.productIterator
for (i <- it) println(i)
}
}
姓名: zhangsan, 性别: male
zhangsan
male