一桃熄、 ArrayList VS LinkedList
1. 什么是 LinkedList义桂?
- LinkedList 是一個雙向鏈表
- 實現(xiàn)了 List 接口
- API 跟 ArrayList 類似
image.png
2. ArrayList VS LinkedList 從查找元素方面分析?
- ArrayList:效率高
- LinkedList:效率底
3. ArrayList VS LinkedList 從添加元素方面分析悯嗓?
image.png
4. ArrayList VS LinkedList 從刪除元素分析废睦?
image.png
5. ArrayList VS LinkedList 執(zhí)行效率大總結秀姐?
image.png
6. ArrayList VS LinkedList 在內(nèi)存方面的差別?
- ArrayList:開辟擂找、銷毀內(nèi)存空間的次數(shù)相對比較少戳吝,單可能造成內(nèi)存空間浪費(可以通過縮容解決)
- LinkedList:開辟、銷毀內(nèi)存空間的次數(shù)相對比較多贯涎,單不會造成內(nèi)存空間浪費
7. 如何在ArrayList 骨坑、 LinkedList 兩者之間做出合理的選擇呢?(至少列舉兩種情況)
image.png
二柬采、 其他集合
1. 什么是棧欢唾?
-
后進先出
image.png
image.png
2. 什么是隊列?為什么 Queue 隊列粉捻,要用 LinkedList 實現(xiàn)礁遣?而不是 ArrayList 呢?
- 先進先出
- 因為 Queue 的特點是在頻繁在
頭尾
進行添加刪除
操作
image.png
image.png
3. Set 的特點肩刃?
- 無序性(不可以通過索引訪問)
- 去重性 (不可以存儲重復的值)
image.png
4. HashMap 的特點祟霍?
- 無序性(不可以通過索引訪問 key-value)
- 去重性(不可以存儲重復的 key,可以存儲重復的 value)
image.png
image.png
5. HashSet 的底層是用什么實現(xiàn)的盈包?它們有什么相似之處(說兩個)沸呐?
- HashSet 底層是基于 HashMap 實現(xiàn)的
image.png
6. HashMap 底層用了什么技術實現(xiàn)的?
- 紅黑樹呢燥、鏈表崭添、哈希表
7. java.util.Collections
里面提供了什么?這種以 s
結尾的叛氨,在 java 中一般代表什么呼渣?
- 以
s
結尾的,在 java 中一般代表工具類
image.png