Java中常见的容器有哪些?

好久不见. 提交于 2020-08-13 01:53:12

常用容器可分为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:基于红黑树。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!