如何做网站做网站需要多少钱,商城建设网站的原因,软件开发框架有哪些,好的企业管理网站Scala集合简介
1#xff09; Scala 的集合有三大类#xff1a;序列 Seq、集Set、映射 Map#xff0c;所有的集合都扩展自 Iterable特质。
2#xff09; 对于几乎所有的集合类#xff0c;Scala 都同时提供了可变和不可变的版本#xff0c;分别位于以下两个包
不可变集合…Scala集合简介
1 Scala 的集合有三大类序列 Seq、集Set、映射 Map所有的集合都扩展自 Iterable特质。
2 对于几乎所有的集合类Scala 都同时提供了可变和不可变的版本分别位于以下两个包
不可变集合scala.collection.immutable可变集合 scala.collection.mutable
3 Scala 不可变集合就是指该集合对象不可修改每次修改就会返回一个新对象而不会对原对象进行修改。类似于 java 中的 String 对象。
4 可变集合就是这个集合可以直接对原对象进行修改而不会返回新的对象。类似于 java 中 StringBuilder 对象。
建议在操作集合的时候不可变用符号可变用方法。
Scala集合继承体系图
不可变集合继承图 1Set、Map 是 Java 中也有的集合。 2Seq 是 Java 没有的我们发现 List 归属到Seq 了因此这里的 List 就和 Java 不是同一个概念了。 3for 循环有一个 1 to 3就是 IndexedSeq 下的 Range。 4String 也是属于 IndexedSeq 5我们发现经典的数据结构比如 Queue 和 Stack 被归属到 LinearSeq(线性序列) 6大家注意Scala 中的 Map 体系有一个 SortedMap说明 Scala 的 Map 可以支持排序。 7IndexedSeq 和 LinearSeq 的区别
1 IndexedSeq 是通过索引来查找和定位因此速度快比如String 就是一个索引集合通过索引即可定位。2 LinearSeq 是线型的即有头尾的概念这种数据结构一般是通过遍历来查找。
可变集合继承图