Java中集合框架的整體體系如下:

【來源:[https://www.processon.com/view/616d69c3e0b34d7c7dba91f7?fromnew=1](https://www.processon.com/view/616d69c3e0b34d7c7dba91f7?fromnew=1)】
可以大致分為兩個部分,一個是單個數據的存儲結構,其最頂層接口為Collection;一個是鍵值對的存儲結構,其最頂層的接口是Map。
## 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();
?
?}
??
~~~
## 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();
~~~
- 第一章 Java基礎
- ThreadLocal
- Java異常體系
- Java集合框架
- List接口及其實現類
- Queue接口及其實現類
- Set接口及其實現類
- Map接口及其實現類
- JDK1.8新特性
- Lambda表達式
- 常用函數式接口
- stream流
- 面試
- 第二章 Java虛擬機
- 第一節、運行時數據區
- 第二節、垃圾回收
- 第三節、類加載機制
- 第四節、類文件與字節碼指令
- 第五節、語法糖
- 第六節、運行期優化
- 面試常見問題
- 第三章 并發編程
- 第一節、Java中的線程
- 第二節、Java中的鎖
- 第三節、線程池
- 第四節、并發工具類
- AQS
- 第四章 網絡編程
- WebSocket協議
- Netty
- Netty入門
- Netty-自定義協議
- 面試題
- IO
- 網絡IO模型
- 第五章 操作系統
- IO
- 文件系統的相關概念
- Java幾種文件讀寫方式性能對比
- Socket
- 內存管理
- 進程、線程、協程
- IO模型的演化過程
- 第六章 計算機網絡
- 第七章 消息隊列
- RabbitMQ
- 第八章 開發框架
- Spring
- Spring事務
- Spring MVC
- Spring Boot
- Mybatis
- Mybatis-Plus
- Shiro
- 第九章 數據庫
- Mysql
- Mysql中的索引
- Mysql中的鎖
- 面試常見問題
- Mysql中的日志
- InnoDB存儲引擎
- 事務
- Redis
- redis的數據類型
- redis數據結構
- Redis主從復制
- 哨兵模式
- 面試題
- Spring Boot整合Lettuce+Redisson實現布隆過濾器
- 集群
- Redis網絡IO模型
- 第十章 設計模式
- 設計模式-七大原則
- 設計模式-單例模式
- 設計模式-備忘錄模式
- 設計模式-原型模式
- 設計模式-責任鏈模式
- 設計模式-過濾模式
- 設計模式-觀察者模式
- 設計模式-工廠方法模式
- 設計模式-抽象工廠模式
- 設計模式-代理模式
- 第十一章 后端開發常用工具、庫
- Docker
- Docker安裝Mysql
- 第十二章 中間件
- ZooKeeper