모델 클래스에 Comparator나 Comparable을 implements 시킨다.
그 뒤 compare나 compareTo 메소드를 구현해주면,
Arrays.sort(array) 나 Collections.sort(collection) 로 정렬이 가능하다.
둘이 약간은 차이가 있으니 사용시 주의한다.
구현해야 하는 메소드는
comparator는 compare, comparable은 compareTo.
sorting시 파라메터도 다르다.
comparator는 implement해서 compare를 구현해놓은 클래스를 sort의 2번째 파라메터로 넣어준다.
sort(array, new ModelClass());
인스턴스를 만들거나 이전에 있던 인스턴스를 넣어주어도 아마 될 것이다.
comparator는 말그대로 비교해주는 놈. sort에게 누구를 써서 대소를 비교해야 하는지 알려준다고 생각하면 될 듯.
comparable은 그냥 정렬하고자 하는 배열이나 list만 주면 된다.
sort(array);
비교할수 있다는 의미이니 그 안에 자기를 정렬하는 방법이 같이 있는건 당연한 거겠지.
// 쓸 때마다 헷갈려서 매번 찾아봤는데 이젠 적어놓아야 겠다.
'Projects > 일반론' 카테고리의 다른 글
자바 애플릿 보안(signed applet) 관련 이슈 해결방안 (0) | 2010.04.05 |
---|---|
Map, Set, List in Java (0) | 2010.04.02 |
Hashtable with Foreach statement in C# (0) | 2010.03.31 |