- 0. 前言
-
1. Collection接口
-
1.1. List接口
- 1.1.1. ArrayList
- 1.1.2. LinkedList
- 1.1.3. Vector
- 1.1.4. Stack
-
1.2. Set接口
- 1.2.1. HashSet
- 1.2.2. LinkedHashSet
- 1.2.3. TreeSet
-
1.3. Queue接口
- 1.3.1. PriorityQueue
- 1.3.2. LinkedList
-
1.1. List接口
-
2. Map接口
- 2.1. HashMap
- 2.2. TreeMap
- 2.3. LinkedHashMap
- 3.常見用法——增/刪/改/查/排序/容量
- 后記
- 參考文章
0. 前言
容器,顧名思義,就是java中存儲數(shù)據(jù)的常用結(jié)構(gòu),在C++中我們接觸過數(shù)組、鏈表等等,在java中,容器則進(jìn)一步規(guī)范化,形成了如下的容器接口繼承關(guān)系圖:
java容器主要包括collection
接口(集合)和map
接口(圖)
1. Collection接口
1.1. List接口
1.1.1. ArrayList
數(shù)組實現(xiàn),查詢快,增刪慢,線程不安全,效率高;
1.1.2. LinkedList
鏈表實現(xiàn),查詢慢,增刪快,線程不安全,效率高;
1.1.3. Vector
數(shù)組實現(xiàn),查詢快,增刪慢,同步訪問
1.1.4. Stack
vector子類,先進(jìn)后出,vector不常用,stack卻很常用。
1.2. Set接口
1.2.1. HashSet
基于HashMap實現(xiàn),線程不安全,效率高;
存儲元素?zé)o序,不可重復(fù);
1.2.2. LinkedHashSet
基于LinkedHashMap實現(xiàn),線程不安全,效率高;
存儲元素有序,不可重復(fù);
1.2.3. TreeSet
基于TreeMap實現(xiàn),線程不安全,效率高;
存儲元素有序,不可重復(fù);
1.3. Queue接口
1.3.1. PriorityQueue
通過二叉小頂堆實現(xiàn),可以用一棵完全二叉樹表示。
1.3.2. LinkedList
鏈表實現(xiàn),查詢慢,增刪快,線程不安全,效率高;
2. Map接口
2.1. HashMap
數(shù)組+鏈表+紅黑樹實現(xiàn),線程不安全,效率高;
重點是擴(kuò)容和紅黑樹轉(zhuǎn)換
2.2. TreeMap
和HashMap無序排序不同,SortedMap接口在內(nèi)部會對Key進(jìn)行排序,注意到SortedMap是接口,它的實現(xiàn)類是TreeMap。
2.3. LinkedHashMap
底層數(shù)據(jù)結(jié)構(gòu)類似hashmap,但是內(nèi)部還有一個雙向鏈表維護(hù)鍵值對的順序,每個鍵值對既位于哈希表中,也位于雙向鏈表中。LinkedHashMap支持兩種順序插入順序、訪問順序。
3.常見用法——增/刪/改/查/排序/容量
以上是簡單的容器特性介紹,下面是一些常用的容器類的使用方法,廢話不多說,上圖:文章來源:http://www.zghlxwxcb.cn/news/detail-750593.html
后記
如果覺得我寫得還算不錯,不妨點贊關(guān)注一波走起~
想看更多博文,請訪問我的各平臺主頁:博客園 / CSDN / 51CTO / 掘金論壇 / 知乎文章來源地址http://www.zghlxwxcb.cn/news/detail-750593.html
參考文章
- Java常用容器基礎(chǔ)操作匯總
- 菜鳥教程相關(guān)文章
到了這里,關(guān)于【Java基礎(chǔ)】Java容器相關(guān)知識小結(jié)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!