반응형
PriorityQueue 란?
우선순위가 높은 순서대로 정렬되는 큐 자료구조
priority queue 구현 방법
우선순위 큐에 저장할 객체는 필수적으로 Comparable 인터페이스를 구현해야 한다.
-> implement Comparable<Object>
그 다음 compareTo라는 메서드를 오버라이딩 해서
값이 크면 1을 값이 작으면 -1을, 같으면 0을 리턴해준다.
또한 get메서드를 만들어서 나중에 PQ에서 값을 불러올 수 있게 한다.
PriorityQueue 주요 함수
- offer : list의 add와 같다.
- isEmpty : Queue가 비었는지 확인
- poll : 데이터 추출
priority queue 구현 소스
class Vehicle implements Comparable<Vehicle>{
private String name;
private int time;
public Vehicle(String name, int time) {
this.name = name;
this.time = time;
}
public String getName() {
return this.name;
}
public int getTime() {
return this.time;
}
@Override
public int compareTo(Vehicle target) {
// 자신의 값이 작으면 -1
// 자신의 값과 같으면 0
// 자신보다 값이 크면 1
if(this.time < target.getTime()) return -1;
else if(this.time > target.getTime()) return 1;
return 0;
}
}
reference
반응형
'JAVA' 카테고리의 다른 글
[JAVA] Jackson library - 1 (0) | 2021.05.30 |
---|---|
[JAVA] Jackson library - 0 (0) | 2021.05.30 |
[JAVA] Map (0) | 2019.11.09 |
[JAVA] Set (0) | 2019.11.09 |
[JAVA] List (0) | 2019.11.09 |