[개발] 지식/Java
Comparator
하하미아
2017. 1. 13. 17:27
정렬할 때 정렬기준을 새로 정의하거나, 객체들의 정렬이 필요한 경우가 있다.
예를 들어 다음과 같은 클래스가 있을때
static class obj{
public obj(int x, char dir, int num){
this.x = x;
}
int x;
};
x의 순서대로 객체를 정렬하고 싶다면 아래와 같이 사용한다.
Arrays.sort(A, 1, N+1, new Comparator(){
public int compare(Ant a, Ant b){
return a.x - b.x;
}
});
이는 a.x와 b.x를 비교하여 오름차순으로 정렬하겠다는 의미이다.
마찬가지로 내림차순으로 정렬하고 싶다면 b.x - a.x로 바꾸면 된다.