1月28日
Scala中的集合:
元组没有可变的,声明以后只能使用,不能修改。
1- 元组对象的关键字: tuple。 Tuple是一个类,是一个关键字。
2- 元组没有可变的,都是不可变的。
3- 没有可变的,声明以后只能使用,不能修改(tuple)。
4- 概念:一系列数据的集合,可以理解成array,但是比较特殊,可以将不同的类型的数据绑定在一起,同时也可以理解成对象。
5- 元组是一个类,对参数的个数要求是: 1 - 22 个,不能不给参数。
6- 使用场景: 方法的返回值是不同数据类型的时候可以绑定在元组中。
对偶元组: Tuple2 就是对偶元组:
1- 两个参数的元组称为对偶元组;
2- 对偶元组是map集合中的元素,所以比较特殊;
3- 对偶元组中有个方法: swap方法,可以将数据进行互换:
1- swap 方法: 将对偶元组中的数据位置互换;
2- zip 方法:拉链方法,可以将两个数组进行拉链操作变成对偶元组:
3- zipWithIndex 给数组中的元素添加下标
定义数组语法:
备注:
1- 如果数组在声明的时候不定义数据类型,会进行自适配,返回最后的父类。
2- Scala种的数组中可以存放不同的数据类型。
3- 如果数组中的数据元素类型不一样,会转换成就近的父类型:
备注:
如果没有指定数组的类型直接给了数组固定的长度,那么返回结果是Nothing类型。
Nothing类型代表错误:所以如果new Array必须添加类型: new Array[Int](4)
如果不加泛型则内容都是Nothing,不能存放任何的值。
val arr1: Array[Nothing] = new Array(3)
不可变数组指的是: 一旦当前数组声明完成以后,数组的长度是不可以改变的,但是数组中元素的值是可以改变的。
数组取值:
按数组的下标进行取值,和赋值的方式一样的,都是通过下标操作:
java [ ]------->arr[index]
scala ( )------->arr(index)
数组拼接:++
1- 数组的长度不能改变,但是数组可以和数组进行拼接形成新的数组,原来数组的长度不变:
2- 使用 ++ 进行拼接数组:
3- ++是Scala中的一个方法:
mutabl包下面的可变集合ArrayBuffer: 声明使用var声明
可变数组的声明方式:
Array转成ArrayBuffer: toBuffer toArray