Queue集合
- 模拟队列先进先出(FIFO),不允许随机访问元素
- Queue接口定义的方法:
- //void add(Object e)
- boolean offer(Object e),加入队列尾部,比add安全
- //Object element(),获取队列头部元素
- Object peek(),获取头部,不删除
- Object poll(),获取头部,删除
- Object remove()
PriorityQueue实现类
- 将队列内元素按大小排序,调用peek()或poll()取出最小元素
- 不允许null值元素
- 定制排序同TreeSet类
Deque接口与ArrayDeque实现类
- Deque提供多种方法,可作为双端队列,也可以当栈使用
- ArrayDeque同ArrayList,使用动态可分配的数组,使用随机访问的性能要比Iterator迭代访问的性能好,因为随机访问会被映射成对数组元素的访问
LinkedList
实现了List接口和Deque接口,可以通过索引访问元素(但是随机访问性能肯定不如迭代器访问),也可以当作双端队列使用