一、概述
集合是 Java 中非常重要的 API,在实际应用中非常广泛,在许多面试中也是必考的知识点。
Java 所有集合类都位于 java.util 包下,Java 的集合只能保存对象,而无法保存保存基本数据类型。当你尝试把一个基本数据类型存入集合中时,Java 会将其自动转为对应的对象类型(这就是自动装箱)。而当我们把一个对象放入集合中后,系统会把所有集合元素都当成 Object 类的实例进行处理。但从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类型。
二、Java 集合的体系结构
Java 集合体系下有两个根接口:Collection 接口和 Map 接口,所有集合类都由着两个接口派生。
Collection 接口
Collection 接口下有 3 个子接口:Set、List、Queue 接口。
- Set 代表的是一个无序不可重复的集合,常用的实现类有:HashSet、TreeSet。
- List 代表的是有序可重复的集合,常用的实现类有:ArrayList / Vector。
- Queue 是 Java 提供的队列实现,是一种先进先出的数据结构。
Map 接口
Map 实现类用于保存具有映射关系的数据(key-value),常用的类有:Hashtable、 HashMap 、Properties。