implement max priority queue in java code example
Example 1: create a min heap in java using priority queue
int arr[]={1,2,1,3,3,5,7};
PriorityQueue<Integer> a=new PriorityQueue<>();
for(int i:arr){
a.add(i);
}
while(!a.isEmpty())
System.out.println(a.poll());
Example 2: priority queue max heap in java
//Sol1
PriorityQueue<Integer> queue = new PriorityQueue<>(10, Collections.reverseOrder());
//Sol2
// PriorityQueue<Integer> pq = new PriorityQueue<>((x, y) -> y - x);
PriorityQueue<Integer> pq =new PriorityQueue<>((x, y) -> Integer.compare(y, x));
//Sol3
PriorityQueue<Integer> pq = new PriorityQueue<Integer>(defaultSize, new Comparator<Integer>() {
public int compare(Integer lhs, Integer rhs) {
if (lhs < rhs) return +1;
if (lhs.equals(rhs)) return 0;
return -1;
}
});