1、什么是集合?
集合是由若干确定元素所构成的整体。Java标准库自带的java.util包提供了集合类:collection,它是除Map外所有其他集合类的根接口。Java的Java.util包主要提供以下集合:
- List:有序列表的集合,例如按索引排列的student的list;
- Set:一种保证没有重复元素的集合,例如所有无重复名称的student的set;
- Map:一种通过键值(key-value)查找的映射表集合,例如根据student的name查找对应的student的Map。
2、为什么用集合?
一个对象可以在内部持有若干其他Java对象,并对外提供访问接口,数组就可以被看成一种集合。为什么数组能够充当集合,还需要其他的集合?因为数组初始化后大小不可变、数组只能按索引顺序存储,所以需要各种不同类型的集合类来处理不同的数据比如可变大小的顺序链表、保证无重复元素的集合。
3、集合的特点?
第一, 实现了接口和实现类的分类。例如有序表的接口是list,具体的实现类有ArrayList,LinkedList等
第二, 支持泛型,可以限制在一个集合中只能放入同一种数据类型的元素,例如:list<String> list = new ArrayList<>();
第三, Java访问集合总是通过统一的方式——迭代器(iterator)来实现,它最明显的好处是无需知道集合内部元素是按照什么方式存储的。
注意:有一些集合类是遗留类不应该继续使用:Hashtable(一种线程安全的Map实现)、Vector(一种线程安全的List实现)、Stack