The Java PriorityQueue class is an unbounded priority queue based on a priority heap. The elements are not based on their insertion order, but rather they are based on the priority of the elements.