2021.6.15:Collection模块
集合
- 可变大小的List;
- 保证无重复元素的Set;
- ...
Collection
Java标准库自带的java.util包提供了集合类:Collection,它是除了Map外其他所有集合类的根接口。Java的java.util包提供了以下三种类型的集合:
- List:有序列表的集合(最常用);
- Set:没有重复元素的集合;
- Map:通过键值对(Key-Value)查找的映射表;例如,根据Name查找对应Score的Map。
Java集合的设计有几个特点:
- 接口与实现类分离,例如:有序表的接口是List,具体的实现类有ArrayList、LinkedList等;
- 支持泛型——我们可以限制在一个集合中只能放入同一种数据类型的元素;
List <String> list = new ArrayList<> ();//只能放入String类型
- Java访问集合总是通过统一的方式——迭代器(Iterator)来实现,它明显的好处是——无需知道内部元素的存储方式。
由于Java的集合设计非常就要且经过大规模的改进,所以有一小部分集合类是遗留类,不应该继续使用:
- Hashtable:线程安全的Map实现;
- Vector:线程安全的List实现;
- Stack:基于Vector实现的LIFO栈。
还有一小部分接口是遗留接口,也不应该继续使用:
- Enumeration<E>:已被Iterator<E>取代。