scala学习记录,Set,Map

set:集合,表示没有重复元素的集合,特点:唯一

语法格式:val 变量名 = Set [类型](元素1,元素2...)

可变不可变

可变(mutable)可对元素进行添加,删除等操作;不可变(immutable)创建后元素不能修改

如果要定义可变的Set(mutable),需要额外导入包:import scala.collection.mutable

Set常见操作

对于可变Set,我们可用+=来添加元素,对于不可变Set,创建一个新的Set来添加元素。

对于可变Set,我们可用-=来添加元素,对于不可变Set,创建一个新的Set来删减元素。

对于Set,我们可用++=来合并元素

查询元素是否存在,使用contains

使用union方法得到两个集合的并集

使用intersect方法得到两个集合的交集

使用diff方法得到两个集合的差集

小习一下:

1.在Scala中,可变和不可变的区别?

能否修改元素

2.那个符号用于向可变元素添加元素?

+=

3.对于不可变Set,如果添加一个新元素,会发生什么?

创建一个新的Set

4.使用contains方法在Set中查询元素,返回值是什么类型?

返回一个布尔值即Boolean(true或者false)。

5.求两个Set的交集使用的方法是什么?

使用intersect方法得到两个集合的交集

Map(映射):是一种可迭代的键值对(key/Value)结构,所有值都可通过键来获取,Map中的键都是唯一的,定义时需要为键值对定义类型。

可变不可变

可变(mutable)可对元素进行添加,删除等操作;不可变Map对象不能修改

如果要定义可变的Map(mutable),需要额外导入包:import scala.collection.mutable

Map常见操作

对于可变Map,我们可用+=,put来添加元素,对于不可变Set,创建一个新的Map来添加元素。

对于可变Map,我们可用-=来添加元素,对于不可变Set,创建一个新的Map来删减元素。

用get查询Map中的值

修改:

遍历:

小习一下:

1.在 Scala 中,不可变Map和可变Map的主要区别是什么?

能否修改元素。

2.以下哪个操作符可以用于向可变Map添加元素?

+=

3.使用 get 方法查询Map中不存在的键时,返回值是什么类型?

None

4.对于不可变 Map,如果要添加新元素,会怎样?

创建一个新的 Map

5.遍历 Map 可以使用哪些方法?

for循环和foreach 方法

相关推荐
天堂的恶魔9465 分钟前
C++项目 —— 基于多设计模式下的同步&异步日志系统(4)(双缓冲区异步任务处理器(AsyncLooper)设计)
开发语言·c++·设计模式
未来之窗软件服务19 分钟前
数字人,磁盘不够No space left on device,修改python 执行环境-云GPU算力—未来之窗超算中心
linux·开发语言·python·数字人
爱的叹息27 分钟前
【java实现+4种变体完整例子】排序算法中【桶排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
java·开发语言·排序算法
Zhuai-行淮40 分钟前
施磊老师基于muduo网络库的集群聊天服务器(二)
开发语言·网络·c++
暴富奥利奥1 小时前
基于 OpenCV 的图像与视频处理
opencv·学习
夏季疯1 小时前
学习笔记:黑马程序员JavaWeb开发教程(2025.3.23)
java·笔记·学习
python_chai1 小时前
Python多进程并发编程:深入理解Lock与Semaphore的实战应用与避坑指南
开发语言·python·高并发·多进程··信号量
氦客2 小时前
kotlin知识体系(五) :Android 协程全解析,从作用域到异常处理的全面指南
android·开发语言·kotlin·协程·coroutine·suspend·functions
道亦无名2 小时前
QT实现串口透传的功能
开发语言·qt
周Echo周2 小时前
8、constexpr if、inline、类模版参数推导、lambda的this捕获---c++17
linux·开发语言·c++·算法·vim