백준에서 PriorityQueue를 활용하다가 알게 된 정보.
Java의 PriorityQueue class에 대해 for each문을 사용하면서 iterate를 할 때는 순서가 보장되지 않는다. Documentation에도 해당 언급이 있다.
순서가 보존된 iteration을 원한다면
원본 PriorityQueue를 다시 유지할 필요가 없다면 poll을 사용하면서 iterate하면 된다.
원본 PriorityQueue 유지가 필요하면 Arrays.sort(pq.toArray())로 새로운 Array 객체를 만들어서 그걸 가지고 iterate하면 된다. Documentation에서 추천하는 방법이다.