集合类
概述
Java中用于存储数据的结构除了数组外,还有集合类,相较于一旦创建便不可改变长度的数组,集合类中提供的数据结构更灵活的操作数据。
集合类的层次结构
集合按照储存结构可以分为两种,即单列集合Collection和双列集合Map。集合类都继承自这两大接口。
Collection接口
单列集合类的根接口,用于存储单列的元素。
Collection中两个重要的子接口:
List接口、Set接口。
-
List接口的常用实现类:
ArrayList、LinkedList。
-
Set接口的常用实现类:
HashSet、TreeSet。
Collection接口的通用方法如下
| 方法 | 描述 |
|---|---|
| boolean add(Object o) | 集合中添加一个元素 |
| boolean addAll(Collection c) | 将指定Collection中的所有元素添加到该集合中 |
| void clear() | 删除该集合中所有元素 |
| boolean remove(Object o) | 删除该集合中指定的元素 |
| boolean removeAll(Collection c) | 删除该集合中所有元素 |
| boolean isEmpty() | 判断该集合是否为空 |
| boolean contains(Object o) | 判断该集合中是否包含某个元素 |
| boolean containsAll(Collection c) | 判断该集合中是否包含指定集合中的所有元素 |
| Iterator iterator() | 返回该集合的迭代器 |
| int size() | 获取该集合元素个数 |
Map接口
双列集合的根接口,用于储存具有键(Key)、值(Value)映射关系的元素,每个元素都包含一个键值对。使用Map集合时可以通过指定的Key找到对应的Value。
Map接口的常用实现类有HashMap、TreeMap、LinkedHashMap、HashTable、ConcurrentHashMap
Map接口的通用方法如下
| 方法 | 描述 |
|---|---|
| V put(Object key,Objec value) | 将指定的值与此映射中的指定键关联并添加到集合中。如果包含先前的映射,则将旧值替换为新值 |
| V get(Object key) | 返回指定键所映射的值,如果此映射不包含该键的映射关系,返回null |
| boolean containsKey(Object key) | 如果此映射包含指定键的映射关系,返回true |
| boolean containsValue(Object value) | 如果映射中包含有一个或多个键映射到指定值,则返回true |
| Set keySet() | 返回此映射中包含的键Set视图 |
| Collection |
返回此映射中包含的Collection视图 |
| V remove(Object key) | 如果删除成功,返回先前的值,如果失败,返回null |
| boolean remove(Object key,Object value) | 删除成功返回true,否则返回false |
| V replace(K key,V value) | 仅当指定键映射到某个值时,新值替换,返回旧值 |
接下来通过一张图来描述整个集合类的继承体系:

浙公网安备 33010602011771号