Когда вы вызываете System.out.println(pq)
, метод toString
вызывается неявно.
Метод toString
для PriorityQueue
расширяется от AbstractCollection
, который
Возвращает строковое представление этой коллекции.Строковое представление состоит из списка элементов коллекции в порядке их возврата ее итератором , заключенным в квадратные скобки ("[]").
В то время как iterator
из PriorityQueue
не гарантирует прохождение в определенном порядке:
Итератор, предоставленный в методе iterator (), не гарантирует прохождение элементов очереди с приоритетами влюбой определенный порядок.
, поскольку очередь основана на heap .
Вы можете опрашивать элементы один за другим, чтобы получить упорядоченные элементы:
while (pq.size() != 0) {
System.out.print(pq.poll() + ","); // 8,6,5,3,2,1,
}