目录
一、数组 (Array)
Scala中的数组分为定长数组和变长数组,定长数组初始化后不可对数组长度进行修改,而变长数组则可以修改。
1、数组定义
(1)定义数组时初始化数据
自动推断数组类型
手动指定数据类型
(2)定义时指定数组长度,后赋值
先定义,后赋值
避免数组下标越界错误
2、数组遍历
定义数组arr
(自动推断类型,静态初始化)
可以使用for循环对数组进行遍历,输出数组所有的元素
(1)传统for循环方式
通过数组下标来遍历数组元素
- 大家可以看到,反向遍历没有输出结果,怎么解决这个问题?
- 参考一下Java正向和反向遍历数组,看能否得到启发
通过(arr.length - 1 to 0) by -1
实现反向遍历
(2)增强for循环方式
正向遍历数组元素
反向遍历数组元素
3、常用方法
- Scala对数组提供了很多常用的方法,使用起来非常方便
- 定义数组
arr
(1)求数组中数值总和
调用sum
方法
(2)求数组中的最大值
调用max
方法
(3)求数组中的最小值
调用min
方法
(4)对数组进行升序排序
调用.sorted
方法
(5)对数组进行降序排序
调用.sorted.reverse
方法
(二)变长数组
1、数组定义
-
变长数组使用类
scala.collection.mutable.ArrayBuffer
进行定义 -
定义一个变长
Int
类型数组arr
利用+=
运算符添加数组元素(注意是追加元素)
遍历数组arr
,跟遍历定长数组没有不同
利用-=
运算符删除数组元素
数组中有多个值为4的元素,则从前向后删除第一个匹配的元素,本次删除,第一个4
被删除了,但是第二4
还依然存在。
2、数组合并
- Scala支持使用
++=
符号将两个变长数组进行合并 - 定义两个变长数组
arr1
和arr2
,合并生成变长数组arr3
- 注意:arr1会是合并后的数据,即ArrayBuffer(1, 2, 3, 4, 5, 6, 7, 8)
- 数组
arr2
和arr1
,合并生成变长数组arr4
3、插入元素
- 使用insert()方法可以在数组指定位置插入一个元素
- 在数组arr的下标为1的位置插入一个元素666
注意:一次插入多个元素是要报错的
如果插入的位置参数超出数组的长度,报错
如果插入的位置参数等于数组长度,那么就相当于在末尾追加新元素
4、移除元素
- 使用remove()方法可以在数组的固定位置移除指定数量的元素
- 从数组arr的下标为1的位置开始移除2元素
如果移除起始位置+删除数量 > 数组长度,那么就会报错