java
Comparator
분리불안증후군
2018. 1. 29. 23:07
Array 소팅하기
Arrays.sort()
static void sort(배열)
String [] input = {"1", "김", "000", "0", "1"};
Arrays.sort(input); // uni code 순서로 소팅
소팅 규칙을 주고 싶으면 Comparator를 사용
static <T> void sort(배열, Comparator<? super T> c)
java.util.Comparator interface의 compare를 구현해 주어야 함.
compare: int compare(T o1, T o2)
return 값:
- o1 < o2 then return -값
- o1 = o2 then return 0
- o1 > 02 then return +값
//구현은 익명 클래스를 쓰는 게 편함
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return (o1.length() - o2.length) * -1; // 길이의 역순으로 정열하기 위해
}
};
Arrays.sort(input, comparator);
Collections.sort(inputList, comparator);