|NO.Z.00062|——————————|BigDataEnd|——|Hadoop&Scala.V01|——|Scala.v01|集合|可变和不可变集合|
一、可变和不可变集合
### --- 集成大纲
~~~ Scala中的可变和不可变集合
~~~ 集合的三大类:Seq、Set、Map
~~~ 集合的常用算子
~~~ Scala与Java之间的集合转换
### --- 可变和不可变集合
~~~ 根据容器中元素的组织方式和操作方式,可以分为有序和无序、可变和不可变等不同的容器类别;不可变集合是指集合内的元素一旦初始化完成就不可再进行更改,任何对集合的改变都将生成一个新的集合;
~~~ 可变集合提供了改变集合内元素的方法;
~~~ # Scala同时支持可变集合和不可变集合,主要下面两个包:
~~~ scala.collection.mutable:定义了可变集合的特质和具体实现类
~~~ scala.collection.immutable:定义了不可变集合的特质和具体实现类
~~~ # 对于几乎所有的集合类,Scala都同时提供了可变和不可变的版本。
~~~ Scala优先采用不可变集合,不可变集合元素不可更改,可以安全的并发访问。
~~~ Scala集合有三大类:Seq(序列)、Set(集)、Map(映射);
~~~ 所有的集合都扩展自Iterable特质。
### --- 可变不可变集合架构
~~~ immutable不可变集合:
~~~ mutable可变集合:



### --- 小结:
~~~ String属于IndexedSeq
~~~ Queue队列和Stack堆这两个经典的数据结构属于LinearSeq
~~~ Map体系下有一个SortedMap,说明Scala中的Map是可以支持排序的
~~~ mutable可变集合中Seq中的Buffer下有ListBuffer,它相当于可变的List列表;
~~~ List列表属于Seq中的LinearSeq
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv015-scala
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」