일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 그리디
- 자바
- 정규식
- programmers
- lambda
- divmod
- 이분탐색
- dfs
- DateTime
- 수학
- python
- 다익스트라
- BFS
- 카카오
- heapq
- Zip
- backjoon
- 위클리 챌린지
- Combinations
- 프로그래머스
- 정렬
- 재귀함수
- KAKAO BLIND RECRUITMENT
- 파이썬
- Re
- Set
- 추석맞이 코딩챌린지
- java
- 동적 계획법
- 백준
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