Java中集合框架的整体体系如下:
【来源:https://www.processon.com/view/616d69c3e0b34d7c7dba91f7?fromnew=1】
可以大致分为两个部分,一个是单个数据的存储结构,其最顶层接口为Collection;一个是键值对的存储结构,其最顶层的接口是Map。
Collection
Collection是Java集合框架中所有线性集合的接口,这里的线性集合包括List、Queue、Set。其定义了与线性集合相关的常见的操作。
public interface Collectionextends Iterable { // 添加元素 boolean add(E e); // 批量添加元素 boolean addAll(Collection extends E> c); // 移除元素 boolean remove(Object o); // 批量移除元素 boolean removeAll(Collection> c); // 获取集合的大小 int size(); // 集合是否为空 boolean isEmpty(); // 是否包含某个元素 boolean contains(Object o); // 清空集合 void clear(); }
Map
Map结构用于存储键值对,是一个接口,其常见的实现类有HashMap、Hashtable、TreeMap等。在该接口中定义的统一操作有:
- 添加元素:
// 用于键值对的绑定,当键不存在是返回null,当键存在是返回旧值。 V put(K key, V value);
- 判断
// 是否包含键 boolean containsKey(Object key); // 是否包含值 boolean containsValue(Object value); // 是否为空 boolean isEmpty(); // 判断两个map是否相同 boolean equals(Object o);
- 获取元素
// 根据键获取value值,不存在则返回null V get(Object key); // 获取所有键 SetkeySet(); // 获取所有的值 Collection values(); // 获取所有键值对 Set > entrySet(); // 大小 int size();
- 移除元素
// 移除某个键 V remove(object key); // 清空map的内容 void clear();



