일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- DateTime
- backjoon
- KAKAO BLIND RECRUITMENT
- 백준
- dfs
- Combinations
- 정렬
- programmers
- 수학
- 재귀함수
- 정규식
- python
- 위클리 챌린지
- lambda
- BFS
- 프로그래머스
- 추석맞이 코딩챌린지
- java
- heapq
- 그리디
- Re
- divmod
- 이분탐색
- 동적 계획법
- Zip
- 카카오
- 다익스트라
- Set
- 파이썬
- 자바
Archives
- Today
- Total
상상쓰
[java] PriorityQueue(우선순위 큐) 소개 본문
java의 PriorityQueue(우선순위 큐)를 간단히 소개하겠다. python의 heapq랑 같다. 내부가 이진 트리로 이루어져 있다.
import java.util.PriorityQueue;
import java.util.Collections;
class CodeRunner{
public static void main(String[] args){
PriorityQueue<Integer> ascQueue = new PriorityQueue<>();
PriorityQueue<Integer> descQueue = new PriorityQueue<>(Collections.reverseOrder());
for (int i=0;i<10;i++) {
ascQueue.add(i);
descQueue.add(i);
}
// peek() : 제일 우선순위가 높은 값 출력
System.out.println(ascQueue.peek() + " "); // 0
System.out.println(descQueue.peek() + " "); // 9
// poll() : 제일 우선순위가 높은 값 출력 후, Queue 에서 삭제
for (int i=0;i<10;i++) {
System.out.print(ascQueue.poll() + " "); // 0 1 2 3 4 5 6 7 8 9
}
System.out.println();
for (int i=0;i<10;i++) {
System.out.print(descQueue.poll() + " "); // 9 8 7 6 5 4 3 2 1 0
}
}
}
'Programming' 카테고리의 다른 글
[DB] 데이터베이스 기초 (0) | 2021.11.03 |
---|---|
[java] HashMap value(값)로 정렬하기 (0) | 2021.10.24 |
[Spring] @PathVariable을 이용한 경로(@RequestMapping) 변수 (0) | 2021.08.26 |
[javascript] chart.js 활용하기 (0) | 2021.08.23 |
[Firebase] 짧은 동적 링크 만들기 (java) (0) | 2021.07.27 |
Comments