数组
scala中数组的概念是和Java类似,可以用数组来存放同类型的一组数据。
数组类型分为定长数组和变长数组两种。
定长数组
定长数组指的是数组的长度是不允许改变的,但数组的元素是可以改变的。
语法
1 | // 通过指定长度定义数组 |
特殊说明:
- 在scala中,数组的泛型使用[]来指定
- 使用()来获取元素
1 | scala> val a = new Array[Int](10) |
变长数组
变长数组指的是数组的长度是可变的,可以往数组中添加、删除元素。
创建变长数组,需要提前导入ArrayBuffer类
1 | import scala.collection.mutable.ArrayBuffer |
语法
创建空的ArrayBuffer变长数组
1 | val/var a = ArrayBuffer[元素类型]() |
创建带有初始元素的ArrayBuffer
1 | val/var a = ArrayBuffer(元素1,元素2,元素3....) |
演示
1 | //导入ArrayBuffer类型 |
变长数组的增删改操作
- 使用
+=
添加元素 - 使用
-=
删除元素 - 使用
++=
追加一个数组到变长数组
示例
1 | // 定义变长数组 |
遍历数组
可以使用以下两种方式来遍历数组:
- 使用for表达式 直接遍历数组中的元素
- 使用 索引 获得数组中的元素
1 | scala> for(i <- a) println(i) |
数组常用操作
scala中的数组封装了丰富的计算操作,将来在对数据处理的时候,不需要我们自己再重新实现。
- 求和——sum方法
- 求最大值——max方法
- 求最小值——min方法
- 排序——sorted方法
1 | scala> val array = Array(1,3,4,2,5) |
元组
元组可以用来包含一组==不同类型==的值。例如:姓名,年龄,性别,出生年月。元组的元素是==不可变== 的。
定义元组
使用括号来定义元组
1 | val/var 元组变量名称 = (元素1, 元素2, 元素3....) |
使用箭头来定义元素(元组只有两个元素)
1 | val/var 元组 = 元素1 -> 元素2 |
示例
1 | // 可以直接使用括号来定义一个元组 |
访问元组
- 使用
_1、_2、_3....
来访问元组中的元素 - 元组的index从1开始,_1表示访问第一个元素,依次类推
1 | scala> val a = (1, "张三", 20, "北京市") |
映射Map
Map可以称之为映射。它是由键值对组成的集合。scala当中的Map集合与java当中的Map类似,也是key,value对形式的。
在scala中,Map也分为不可变Map和可变 Map。
不可变Map
定义语法
1 | val/var map = Map(键->值, 键->值, 键->值...) // 推荐这种写法,可读性更好 |
演示
1 | scala> val map1 = Map("zhangsan"->30, "lisi"->40) |
可变Map
可变Map需要手动导入==import scala.collection.mutable.Map==, 定义语法与不可变Map一致。
演示
1 | //导包 |
Map基本操作
创建一个可变的map
1 | //导包 |
- 按照key获取value
1 | // 获取zhagnsan的年龄 |
- 修改key对应的value
1 | scala> map("lisi") = 50 |
- 添加key-value键值对
1 | scala> map += ("wangwu" ->35) |
- 删除key-value键值对
1 | scala> map -= "wangwu" |
- 获取所有的key和所有的value
1 | //获取所有的key |
- 遍历map
1 | //第一种遍历 |
Set集合
Set是代表没有重复元素的集合。
Set具备以下性质:
- 1、元素不重复
- 2、不保证插入顺序
scala中的set集合也分为两种,一种是不可变集合,另一种是可变集合。
不可变Set集合
语法
1 | //创建一个空的不可变集 |
演示
1 | // 创建set集合 |
可变Set集合
要使用可变集,必须要手动导入: ==import scala.collection.mutable.Set==
演示
1 | //导包 |
列表 List
List是scala中最重要的、也是最常用的数据结构。
List具备以下性质:
- 1、可以保存重复的值
- 2、有先后顺序
在scala中,也有两种列表,一种是不可变列表、另一种是可变列表
不可变列表
不可变列表就是列表的元素、长度都是不可变的
语法
使用 List(元素1, 元素2, 元素3, …) 来创建一个不可变列表,语法格式
1 | val/var 变量名 = List(元素1, 元素2, 元素3...) |
演示
1 | //创建一个不可变列表,存放以下几个元素(1,2,3,4) |
可变列表
- 可变列表就是列表的元素、长度都是可变的。
- 要使用可变列表,先要导入 ==import scala.collection.mutable.ListBuffer==
语法
使用ListBuffer元素类型 创建空的可变列表,语法结构
1 | val/var 变量名 = ListBuffer[Int]() |
- 使用ListBuffer(元素1, 元素2, 元素3…)创建可变列表,语法结构
1 | val/var 变量名 = ListBuffer(元素1,元素2,元素3...) |
演示
1 | //导包 |
列表操作
1 | //导包 |