大数据学习笔记 1.6 Scala数据结构

目录

一、数组 (Array)

1、数组定义 

1.1、定义数组时初始化数据

 1.2、定义时指定数组长度,后赋值

 2、遍历数组

2.1、传统for循环方式遍历数组 

2.2、增强for循环方式 

2.3、利用foreach算子遍历数组

3、常用方法 

 3.1、数组中数值总和

3.2、求数组中的最大值

3.3、求数组中的最小值

3.4、对数组实现升序

3.5、对数组实现降序 

二、变长数组

1、数组定义

2、遍历数组 

3、移除元素 

 4、数组合并

5、插入元素

 三、列表 (List)

1 、创建不可变列表

 2、给列表添加元素

2.1、在列表头添加元素

2.2、在列表尾添加元素

2.3、列表合并操作

 2.4、二维列表

 3、创建可变列表

3.1、列表合并 

4、列表排序 

5、列表总和、平均值、最值 

6、添加新元素

7、移除列表元素 

四、映射

1、不可变映射 

1.1、创建不可变映射

1.2、遍历不可变映射

2、可变映射

2.1、创建可变映射

2.2、修改可变映射

2.3、查询可变映射 

2.4、添加元素

 2.5、删除元素

五、元组 (Tuple) 

1、定义元组 

1.1、直接赋值定义元组

1.2、创建指定长度的元组

2、访问元组

3、迭代元组

4、元组转为字符串

 六、集合 (Set)

 1、定义集合

 2、增减元素

 3、集合方法

3.1、获取首元素

3.2、获取去首子集合

3.3、两个集合求并集 

3.4、两个集合求交集 

3.5、求集合的最值 

3.6、求集合的总和和平均值 

3.7、集合的遍历 

 七、课后练习


一、数组 (Array)

  • Scala中的数组分为定长数组和变长数组,定长数组初始化后不可对数组长度进行修改,而变长数组则可以修改。

1、数组定义 

1.1、定义数组时初始化数据

  • 数组的静态初始化

  • 自动推断数组类型

  • 手动指定数据类型

 1.2、定义时指定数组长度,后赋值

  • 定义时指定数组长度,后赋值

  •  避免数组下标越界错误(数据溢出:Data Overflow)

 2、遍历数组

  • 定义数组arr(自动推断类型,静态初始化)

2.1、传统for循环方式遍历数组 

  • 通过数组下标来遍历数组元素

  • 通过arr.length - 1 to 0 by -1实现反向遍历

  • 说明:num1 to num2 by 1 相当于 num1 to num2

2.2、增强for循环方式 

  • 正序遍历数组元素

  • 反序遍历数组元素

2.3、利用foreach算子遍历数组

  • 利用Scala的foreach算子来遍历数组 

  • 数组求和
  • 采用遍历算子

  •  采用增强for循环

  •  采用传统for循环来求和

3、常用方法 

  • Scala对数组提供了很多常用的方法,使用起来非常方便
  • 定义数组arr(通过数组类的构造方法来初始化数组,静态初始化)

  •  对数组arr也可以采用先定义后赋值的方式(动态初始化)

 3.1、数组中数值总和

  • 调用sum方法

  • 还可以调用归并算子来求和

3.2、求数组中的最大值

  • 调用max方法,也可以自己编写代码求最大值

3.3、求数组中的最小值

  • 调用min方法,也可以自己编写代码求最小值 

3.4、对数组实现升序

  • 调用sorted方法

  • 不可变数组调用sorted方法之后会产生一个新的排序数组,而原来的数组保持不变

3.5、对数组实现降序 

  • 先调用sorted方法升序,再调用reverse方法反序,就可以实现数组降序

二、变长数组

1、数组定义

  • 变长数组使用类scala.collection.mutable.ArrayBuffer进行定义
  • 定义一个变长Int类型数组arr,利用+=运算符、append方法添加一个数组元素(注意是追加元素),还可以利用appendAll方法添加一个数组(多个元素)

2、遍历数组 

  • 遍历可变数组arr,跟遍历定长数组没有不同

3、移除元素 

  • 利用remove方法可以按下标删除数组元素,当然可能出现下标越界异常

  • 利用-=运算符按值直接删除数组元素

  • 数组中有多个值为2的元素,则从前向后删除第一个匹配的元素,本次删除,第一个2被删除了,但是第二2还依然存在。

  • 下面继续删除2(删除完2之后,继续删除,不会报错,正所谓以不变应万变)

  • 使用remove()方法还可以在数组的固定位置移除指定数量的元素

  • 从数组arr的下标为2的位置开始移除3个元素

  •  如果移除起始位置 + 删除数量 > 数组长度,那么就会报错

 4、数组合并

  • Scala支持使用++=符号将两个变长数组进行合并,其实还可以用appendAll方法来拼接两个数组
  • 定义三个变长数组arr1、arr2与arr3,arr1采用++=合并arr2得到result,其实result与合并后的arr1是相等的,然后arr1再利用appendAl
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值