Comparator
정렬할 때 정렬기준을 새로 정의하거나, 객체들의 정렬이 필요한 경우가 있다. 예를 들어 다음과 같은 클래스가 있을때 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로 바꾸면 된다.
2017. 1. 13. 17:27