116777817886595562
前言
Java的PriorityQueue和PriorityBlockingQueue学习笔记
继承
graph TD
Object --> AbstractCollection
AbstractCollection --> AbstractQueue
AbstractQueue --> PriorityBlockingQueue
AbstractQueue --> PriorityQueue
Iterable --> Collection
Collection --> AbstractCollection
Collection --> Queue
Queue --> AbstractQueue
style Object fill:#f0f8ff,stroke:#696969
style AbstractCollection fill:#f0f8ff,stroke:#696969
style AbstractQueue fill:#f0f8ff,stroke:#696969
style PriorityBlockingQueue fill:#f0f8ff,stroke:#696969
style PriorityQueue fill:#f0f8ff,stroke:#696969
style Iterable fill:#f0f8ff,stroke:#4169e1
style Collection fill:#f0f8ff,stroke:#4169e1
style Queue fill:#f0f8ff,stroke:#4169e1
PriorityQueue
- 底层维护排序顺序,遍历时不一定是按照排序顺序遍历,但是连续出队列时一定拿到的是有序的结果
创建对象
1
| PriorityQueue<Object> queue = new PriorityQueue<>();
|
基于已有集合创建
1 2 3
| Collection<Object> c;
PriorityQueue<Object> queue = new PriorityQueue<>(c);
|
PriorityBlockingQueue
PriorityBlockingQueue是线程安全的PriorityQueue
创建对象
1
| PriorityBlockingQueue<Object> queue = new PriorityBlockingQueue<>();
|
基于已有集合创建
1 2 3
| Collection<Object> c;
PriorityBlockingQueue<Object> queue = new PriorityBlockingQueue<>(c);
|
Collection的相关方法
传送门
Queue的相关方法
传送门
完成