第一次用markdown写java面试

一.概览

容器主要包括Collection和Map两种,Collection存储着对象的集合,Map存储着键值对的映射。

Collection(interface)

Set(继承,接口)

SortedSet(继承,interface,)

TreeSet(实现)

HashSet(实现)

LinkedHashSet(实现)

List(继承,接口)

ArrayList(实现)

Vector(实现,线程安全的,基本废弃,过时)

LinkedList(有序,同时实现Queue)

Queue(继承,,接口,队列)

PriorityQueue(实现)

LinkedList(有序,同时实现List)

1.Set

  • TreeSet:基于红黑树实现,支持有序性,效率不如HashSet,
  • HashSet:基于哈希表实现,支持快速查找,不支持有序性操作,没有顺序,
  • LinkedHashSet:具有HashSet的查找效率,并且有顺序

2.List

  • ArrayList:基于动态数组实现,支持随机访问
  • Vector:类似ArrayList,线程安全
  • LinkedList:双向链表实现,智能顺序访问,能快速插入和删除元素

3.Queue(不常用)

  • LinkedList:可以用来实现双向队列。
  • PriorityQueue:基于堆结构实现,用来实现优先队列

Map(interface)

SortedMap(interface,继承)

TreeMap(实现)

HashTable(过时,实现)

LinkedHashMap(实现)

HashMap(实现)

  • TreeMap:基于红黑树实现(没用过).
  • HashMap:基于哈希表实现(最常用)
  • HashTable:类似HashMap,线程安全,遗留类,可以使用ConcurrentHashMap来支持线程安全,用了分段锁,效率更高
  • LinkedHashMap:双向链表来维护元素的顺序,
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章