Java中常見的容器有哪些?

常用容器可分爲Collection和Map,Collection是存儲對象的集合,而Map是存儲鍵值對的集合。
其中,Collection又分爲List、Set、Queue,而Map的實現類爲HashMap、LinkedHashMap、TreeMap、HashTable。

List接口(有序,可重複):
  • ArrayList:底層是動態數組,支持隨機訪問。
  • LinkedList:底層是雙向鏈表,只能順序訪問。
Set接口(不可重複):
  • HashSet(無序):基於哈希表。支持快速查找,但不支持有序性操作,且不維持插入順序信息。
  • TreeSet(有序):底層是紅黑樹。支持快速查找(O(logn))但效率比HashSet(O(1))低。支持有序性操作,例如在一定範圍內查找元素。
  • LinkedHashSet(有序):底層是鏈表+哈希表。使用哈希表存儲元素,再維護一個雙向鏈表保存元素的插入信息。
Queue接口:
  • LinkedList:可實現雙向隊列
  • PriorityQueue:基於堆結構的優先隊列。
Map接口:
  • HashMap:基於哈希表。
  • LinkedHashMap:使用雙向鏈表維護插入順序。
  • HashTable:線程安全的HashMap,已淘汰。推薦ConcurrentHashMap。
  • TreeMap:基於紅黑樹。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章