하하미아 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로 바꾸면 된다.