Разберите, почему в этом коде peek работает быстрее poll, хотя обе операции обращаются к минимальному элементу очереди:
import java.util.PriorityQueue;
PriorityQueue<Integer> queue = new PriorityQueue<>();
queue.add(7);
queue.add(2);
queue.add(5);
System.out.println(queue.peek());
System.out.println(queue.poll());