This article brings you relevant knowledge about java, which mainly introduces the relevant knowledge about PriorityQueue priority queue. The Java collection framework provides two types of priorities, PriorityQueue and PriorityBlockingQueue. Level queue, PriorityQueue is thread-unsafe, and PriorityBlockingQueue is thread-safe. Let’s take a look at it together. I hope it will be helpful to everyone.
Recommended study: "java Video Tutorial"
The Java collection framework provides two types of PriorityQueue and PriorityBlockingQueue The priority queue, PriorityQueue is thread-unsafe, and PriorityBlockingQueue is thread-safe. This article mainly introduces PriorityQueue
The relationship of priorityQueue in the Java collection framework is as follows:
1. When using it, you must import the package where PriorityQueue is located, that is:
import java. util.PriorityQueue
2. The elements placed in the PriorityQueue must be able to be compared in size, and objects that cannot be compared in size cannot be inserted, otherwise
ClassCastException## will be thrown.
time complexity of inserting and deleting elements is log base 2 n
6. The bottom layer of PriorityQueue uses a heap data structure7. PriorityQueue by default It is a small heap---that is, the elements obtained every time are the smallest elements (If we want to turn it into a large heap, we need to re-compare the method. The default comparison method is the compareTo method in the Comparable interface)
2. Introduction to Common Interfaces of PriorityQueue1. Construction of Priority QueueHere are just a few common construction methods inPriorityQueue, for others, you can refer to the help documentation.
Function introduction | |
Create an empty Priority queue, | The default capacity is 11 |
initialCapacity) | Create a initial capacity is initialCapacity Priority queue, Note: initialCapacity cannot be less than 1, otherwise an IllegalArgumentException will be thrown Often |
extends E> c) Use a collection to create a priority queue | |
##PriorityQueue(Comparator super E> comparator) Create a priority queue | with default initial capacity and compare its elements against the specified comparator |
PriorityQueue(int initialCapacity, Comparator super E> comparator)
| Create a Initial capacity is initialCapacity initialCapacity cannot be less than 1, otherwise IllegalArgumentException will be thrown Often |
Function Name | Function introduction |
boolean offer(E e) |
Insert element e, and return true if the insertion is successful, if the e object is empty , throwing NullPointerException, time complexity, note: when the space is not enough, it will be expanded |
Get the element with the highest priority , if the priority queue is empty, return null | |
Remove the highest priority element and return, if the priority queue is empty, return null | |
Get the number of valid elements | |
clear() | Clear|
boolean isEmty() | Check whether the priority queue is empty and return if empty true
java video tutorial"
The above is the detailed content of PriorityQueue priority queue of Java collection framework. For more information, please follow other related articles on the PHP Chinese website!