开发者学堂课程【Scala 核心编程 - 进阶:元组的基本介绍和创建】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/610/detail/9030
元组的基本介绍和创建
内容介绍:
一、基本介绍
二、元组的创建
三、代码小结
一、基本介绍
元组是特有的一种集合,元组也是可以理解为一个容器,可以存放各种相同或不同类型的教据。
简单说,就是将多个无关的数据封装为一个整体,称为元组,最大的特点是灵活,对数据没有过多的约束。
马丁·奥德斯基认为在很多情况下数据之间没有关系,所以创造一个数据类型来存放各种数据,用元组可以做许多简单的事,例如,要交换两个数 X Y,可以直接返回元组 Y X。并且元组中有很多方法可以使用。
注意:
元组中最大只能有22个元素(元组这个容器得限制是22个元素,如果超过该限制,可以将 Tuple 放入来扩大容量)
二、元组的创建
1.元组创建的代码:
object TupleDemo01{
def main (args:Array[String]): Unit={
//说明:1. tuple1 就是一个 Tuple ,类型是 Tuple5
//简单说明:
为了高效的操作元组,编译器根据元素的个数不同,对应不同的元组类型
//分别是 Tuple1---Tuple22
val tuple1 =(1,2,3,”hello" ,4) //共5个元素,所以是 tuple5
println(tuple1)
}
}
2.验证 Tuple1 的类型:
打开反编译工具查看 main 函数代码如下:
public void main(String [] args)
{
Tuple5 tuple1= new Tuple5(BoxesRunTime.boxToInteger(1), BoxesRunTime.boxToInteger(2), BoxesRunTime.boxToInteger(3), “hello”,BoxesRunTime.boxToInteger(4));
Predef...MODULE$.println(tuple1);
}
三、代码小结
1.t1 的总型是 Tuple5 类,是 scala 特有的类型
2 t1的类型取决于 t1 后面有多少个元素,有对应关系,比如4个元素=》 Tuple4
3.一个 Tuple5 的定义加深理解:
/*
finalcaseclass Tuple5[+T1,+T2,+T3,+T4,+T5](_1:T1,_2:T2,_3:T3,_4:T4,_5:T5)
extends Product5[T1,T2,T3,T4,T5]
{
override def toString()= "(”+_1 + "," +_2+ ","+_3+ "," +_4 + "," + _5 .")"
}
*/
4.元组中最大只能有22个元素即 Tuple1...Tuple22