默认情况下, Scala 使用的是不可变集合, 如果你想使用可变集合, 需要引用 scala.collection.mutable.Set
Set 默认是不可变集合,数据无序
数据不可重复
遍历集合
创建可变集合 mutable.Set
打印集合
集合添加元素
向集合中添加元素,返回一个新的 Set
删除
Scala 中的 Map 和 Java 类似,也是一个散列表,它存储的内容也是键值对(key-value) 映射
创建不可变集合 Map
循环打印
访问数据
如果 key 不存在,返回 0
创建可变集合
打印集合
向集合增加数据
删除数据
修改数据
元组也是可以理解为一个容器,可以存放各种相同或不同类型的数据。说的简单点,就是将多个无关的数据封装为一个整体,称为元组。
‼️元组中最大只能有 22 个元素
声明元组的方式:(元素 1,元素 2,元素 3)
访问元组
Map 中的键值对其实就是元组,只不过元组的元素个数为 2,称之为对偶
获取集合长度
获取集合大小
循环遍历
迭代器
生成字符串
是否包含
获取集合的头
获取集合的尾(不是头的就是尾)
集合最后一个数据
集合初始数据(不包含最后一个)
反转
取前(后)n 个元素
去掉前(后)n 个元素
并集
交集
差集
拉链
求和
求乘积
最大值
最小值
排序
sorted :对一个集合进行自然排序,通过传递隐式的Ordering
sortBy: 对一个属性或多个属性进行排序,通过它的类型。
sortWith :基于函数的排序,通过一个 comparator 函数,实现自定义排序的逻辑。
过滤 遍历一个集合并从中获取满足指定条件的元素组成一个新的集合
转化/映射(map)将集合中的每一个元素映射到某一个函数
扁平化
扁平化+映射 注:flatMap 相当于先进行 map 操作,在进行 flatten 操作集合中的每个元素的子元素映射到某个函数并返回新集合
分组(group) 按照指定的规则对集合的元素进行分组
简化(归约)
折叠
Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。
Fold 折叠:化简的一种特殊情况。
Scal也提供了队列(Queue)的数据结构,队列的特点就是先进先出。进队和出队的方法分别为 enqueue 和dequeue
Scala 为了充分使用多核 CPU,提供了并行集合(有别于前面的串行集合),用于多核环境的并行计算。