ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
Java中集合框架的整体体系如下: ![](https://img.kancloud.cn/99/7d/997d37e1a822a3bddede70f66c21cbf3_1535x649.png) 【来源:[https://www.processon.com/view/616d69c3e0b34d7c7dba91f7?fromnew=1](https://www.processon.com/view/616d69c3e0b34d7c7dba91f7?fromnew=1)】 可以大致分为两个部分,一个是单个数据的存储结构,其最顶层接口为Collection;一个是键值对的存储结构,其最顶层的接口是Map。 &nbsp; ## Collection Collection是Java集合框架中所有线性集合的接口,这里的线性集合包括List、Queue、Set。其定义了与线性集合相关的常见的操作。 ~~~  public interface Collection<E> extends Iterable<E> {            // 添加元素      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();    }  ​ ~~~ &nbsp; ## Map Map结构用于存储键值对,是一个接口,其常见的实现类有HashMap、Hashtable、TreeMap等。在该接口中定义的统一操作有: 1. 添加元素: ~~~  // 用于键值对的绑定,当键不存在是返回null,当键存在是返回旧值。  V put(K key, V value); ~~~ 2. 判断 ~~~  // 是否包含键  boolean containsKey(Object key);  // 是否包含值  boolean containsValue(Object value);  // 是否为空  boolean isEmpty();  // 判断两个map是否相同  boolean equals(Object o); ~~~ 3. 获取元素 ~~~  // 根据键获取value值,不存在则返回null  V get(Object key);  // 获取所有键  Set<K> keySet();  // 获取所有的值  Collection<V> values();  // 获取所有键值对  Set<Map.Entry<K,V>> entrySet();  // 大小  int size(); ~~~ 4. 移除元素 ~~~  // 移除某个键  V remove(object key);  // 清空map的内容  void clear(); ~~~