企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
Scala集合总共分为如下三大类: * Seq 序列:元素按顺序排列,可以存储重复元素; * Set 集合:元素无序,元素不重复,提供并、差、交集运算; * Map 映射:键值对集合 ![](https://img.kancloud.cn/c2/02/c2028e160c7b6d58eafb0250320c0cd9_481x443.png) Seq、Set和Map又分为可变集合与不可变集合: * 可变集合:<mark>可变</mark>指的是集合中的元素可以改变,至于长度是否可以改变需要根据具体的类进行判断。可变集合都在`scala.collection.mutable` * 不可变集合:<mark>不可变</mark>指的是集合的长度和元素都不可以改变。不可变集合都在`scala.collection.immutable`包中 * Scala中默认为不可变集合。 常用的不可变集合: ```scala Set:ListSet、HashSet、TreeSet Map:ListMap、HashMap、TreeMap Seq:Vector、String、Range、List、Stack、Stream、Queue ``` :-: ![](https://img.kancloud.cn/16/50/1650919642259753df68bca1fa147e1b_885x687.png) 不可变集合:scala.collection.immutable ![](https://img.kancloud.cn/8d/29/8d2999ce0f0d691fb51005b4fa772891_1497x717.png) 可变集合:scala.collection.mutable <br/> :-: **常用集合** | 名称 | 可变/不可变 | 示例 | | --- | --- | --- | | Buffer | mutable | val buffer = scala.collection.mutable.ArrayBuffer[Int](10, 20, 30); buffer+=(2,3)| | Array | mutable | val arr=Array(1,2,3)| | List | immutable | val lst=List(1,2,3)| | Map | mutable | val stu= Map("name" -> "Jason", "age" -> "18")| | Set | mutable/immutable | val set=Set(1,2,3)| | Vector | immutable | val v=Vector(1, 3, 5, 7, 11, 13)| | Stack| mutable/immutable | val st=scala.collection.mutable.Stack(1,2,3) //堆栈,先进后出| | Queue | mutable/immutable | val q=scala.collection.mutable.Queue(1,2,3) //队列,先进先出| | BitSet | mutable/immutable | val bit=scala.collection.mutable.BitSet(3,2,0) //位集合| | ListMap | immutable | val map = scala.collection.immutable.ListMap(1->"one", 2->"two")| | HashSet | mutable | val set= scala.collection.mutable.HashSet(1,2,3)| | HashMap | mutable | val stu= scala.collection.mutable.HashMap("name" -> "Jason", "age" -> "18")| 官方文档:https://www.scala-lang.org/api/2.11.12/#scala.collection.immutable.List