本篇作为scala快速入门系列的第十一篇博客,小菌为大家带来的是关于数组的相关内容。
数组
scala中数组的概念是和Java类似,可以用数组来存放一组数据。scala中,有两种数组,一种是定长数组,另一种是变长数组。
定长数组
定长数组指的是数组的长度是不允许改变。
语法
[!NOTE]
- 在scala中,数组的泛型使用 [] 来指定
- 使用 () 来获取元素
示例1
- 定义一个长度为100的整型数组
- 设置第1个元素为110
- 打印第1个元素
参考代码
示例2
- 定义一个包含以下元素的数组
- 获取数组长度
参考代码
变长数组
变长数组指的是数组的长度是可变的,可以往数组中添加、删除元素
定义变长数组
语法
- 创建空的ArrayBuffer变长数组,语法结构:
- 创建带有初始元素的ArrayBuffer
[!NOTE]
创建变长数组,需要提前导入ArrayBuffer
类
import scala.collection.mutable.ArrayBuffer
示例1
定义一个长度为0的整型变长数组。
参考代码
示例2
定义一个包含以下元素的变长数组。
参考代码
添加/修改/删除元素
- 使用
=
添加元素 - 使用
-=
删除元素 - 使用
=
追加一个数组到变长数组
示例
- 定义一个变长数组,包含以下元素: “hadoop”, “spark”, “flink”
- 往该变长数组添加一个"flume"元素
- 从该变长数组删除"hadoop"元素
- 再将一个包含"hive", "sqoop"的数组追加到变长数组中
参考代码
遍历数组
可以使用以下两种方式来遍历数组:
- 使用 for表达式 直接遍历数组中的元素
- 使用 索引 遍历数组中的元素
示例1
- 定义一个数组,包含以下元素1,2,3,4,5
- 使用for表达式直接遍历,并打印数组的元素
参考代码
示例2
- 定义一个数组,包含以下元素1,2,3,4,5
- 使用for表达式基于索引下标遍历,并打印数组的元素
参考代码
[!NOTE]
- 0 until n——生成一系列的数字,包含0,不包含n
- 0 to n——包含0,也包含n
数组常用算法
scala中的数组封装了丰富的计算操作,将来在对数据处理的时候,不需要我们自己再重新实现。
以下为常用的几个算法:
- 求和——sum方法
- 求最大值——max方法
- 求最小值——min方法
- 排序——sorted方法
求和
数组中的sum方法可以将所有的元素进行累加,然后得到结果。
示例
- 定义一个数组,包含以下几个元素(1,2,3,4)
- 请计算该数组的和
参考代码
最大值
数组中的max
方法,可以获取到数组中的最大的那个元素值。
示例
- 定义一个数组,包含以下几个元素(4,1,2,4,10)
- 获取数组的最大值
参考代码
最小值
数组的 min
方法,可以获取到数组中最小的那个元素值。
示例
- 定义一个数组,包含以下几个元素(4,1,2,4,10)
- 获取数组的最小值
参考代码
排序
数组的 sorted
方法,可以对数组进行升序排序。而reverse
方法,可以将数组进行反转,从而 实现降序排序。
示例
- 定义一个数组,包含以下几个元素(4,1,2,4,10)
- 对数组进行升序排序、降序排序
参考代码
本篇博客到这里就结束了,感兴趣的小伙伴们可以持续关注哟~下一篇将为大家带来元组
的基本使用,敬请期待!