PriorityQueue - это реализация очереди в Java, которая автоматически сортирует элементы по их приоритету. При добавлении элементов в PriorityQueue каждый элемент помещается на своё место в очереди в соответствии с его приоритетом. В PriorityQueue элементы хранятся таким образом, что первым в очереди будет элемент с наивысшим приоритетом. При извлечении элемента будет удален элемент с наивысшим приоритетом. Если два элемента имеют одинаковый приоритет, то порядок их удаления определяется их порядком добавления в очередь...
Очередь (Queue) - это очень интересный тип хранения данных. Мы можем проводить с ней ограниченное количество операций - обычно только с верхним элементом, и не имеем доступа к "середине" очереди. Выглядит странно? На самом деле, есть много примеров из повседневной жизни, которые помогут нам представить механизм работы очереди. FIFO и LIFO в Java Кстати, "принцип очереди" - то, что первый, кто пришел, первым получает мороженое - обозначается английской аббревиатурой FIFO ("First in first out")...