元组 重点掌握
元组可以用来包含一组不同类型的值。例如:姓名,年龄,性别,出生年月。元组的元素是不可变的。
数组: 同一类数据成组
元组: 不同的元素成组
元祖内容(元素)不可变
定义元组
语法
方式1: 使用括号来定义元组
val/var 元组 = (元素1, 元素2, 元素3....)
方式2: 使用箭头来定义元组(元组只能有两个元素)
val/var 元组 = 元素1->元素2
这里预告一下, 使用箭头创建元组, 数量被限制到了2, 这个是有原因的.
一般两个元素是key value格式比较多, 后面我们就能感受到了
示例
定义一个元组,包含一个学生的以下数据
id | 姓名 | 年龄 | 地址 |
---|---|---|---|
1 | zhangsan | 20 | beijing |
参考代码
代码语言:javascript复制scala> val a = (1, "zhangsan", 20, "beijing")
a: (Int, String, Int, String) = (1,zhangsan,20,beijing)
示例
- 定义一个元组,包含学生的姓名和年龄(zhangsan、20)
- 分别使用括号、和箭头来定义元组
参考代码
代码语言:javascript复制scala> val a = ("zhangsan", 20)
a: (String, Int) = (zhangsan,20)
scala> val a = "zhangsan" -> 20
a: (String, Int) = (zhangsan,20)
访问元组
使用_1、_2、_3....来访问元组中的元素,_1表示访问第一个元素,依次类推
示例
- 定义一个元组,包含一个学生的姓名和性别,"zhangsan", "male"
- 分别获取该学生的姓名和性别
参考代码
代码语言:javascript复制scala> val a = "zhangsan" -> "male"
a: (String, String) = (zhangsan,male)
// 获取第一个元素
scala> a._1
res41: String = zhangsan
// 获取第二个元素
scala> a._2
res42: String = male