[java]우선순위 큐(PriorityQueue)
큐에 값을 넣으면 자동으로 정렬되는 큐
// 작은 숫자가 우선순위가 높음 PriorityQueue<Integer> queue = new PriorityQueue<>(); // 큰 숫자가 우선순위가 높음 // PriorityQueue<Integer> queue = new PriorityQueue<>(Comparator.reverseOrder()); queue.offer(3); // queue.add(3); 처럼 사용가능(같은 기능 alias) queue.offer(4); queue.offer(1); queue.offer(2); // 우선 순위가 가장 높은 값 출력 assertThat(queue.peek()).isEqualTo(1); // 우선 순위가 가장 높은 값 반환하고, 큐에서 값을 제거 assertThat(queue.poll()).isEqualTo(1); assertThat(queue.poll()).isEqualTo(2); // 우선 순위가 가장 높은 값 반환하고, 큐에서 값을 제거(poll 과 같은 기능) assertThat(queue.remove()).isEqualTo(3); // 지정된 원소값을 제거, 제거할 수 있으면 true, 없으면 false 반환 assertThat(queue.remove(4)).isEqualTo(true); // 큐가 비어있다면 null 반환 assertThat(queue.poll()).isNull();
최신 댓글