1. 集合
1.1 概述
但凡了解过编程的人都知道 程序 = 算法 + 数据结构 这句话, 它是由著名的瑞士计算机科学家 尼古拉斯 ·沃斯 提出来的, 而他也是1984年图灵奖的获得者. 算法指的是计算的一系列有效, 通用的步骤. 算法和数据结构是程序设计中相辅相成的两个方面, 因此数据结构也是编程中很重要的一个方面. 很多编程语言都提供了数据结构的对应编程库,并称之为集合库(Collection Library). Scala中也有集合库, 它的优点如下:
- 易于使用
使用集合库提供的20到50个左右的方法, 灵活的组合运用, 就可以解决大部分的集合问题.
- 简洁
简单的一个单词(例如: foreach), 就可以实现一个或者多个循环操作.
- 安全
绝大部分错误都可以在编译期被发现.
- 快速
集合类型的方法实现时, 都进行了调优, 用户可以根据需求选择合适的集合.
- 统一
Scala的集合有非常严谨的继承体系, 相似类型的集合拥有同样的一组方法, 以及属于自己独有的方法.
1.2 分类
Scala同时支持 不可变集合和可变集合 , 因为不可变集合可以安全的并发访问, 所以它也是默认使用的集合类库. 在Scala中, 对于几乎所有的集合类, 都提供了可变和不可变两个版本, 具体如下:
- 不可变集合 : 指的是 集合内的元素一旦初始化完成就不可再进行更改 , 任何对集合的改变都将生成一个新的集