Collections.sort(result, new Comparator<Menu>() {
@Override
public int compare(Menu o1, Menu o2) {
return Integer.compare(o1.order(), o2.order());
}
});
갑자기 새로운 녀석을 찾았다.
Collections.sort(List list, Comparator <? super T> c)라는 Java sort함수이다.
collections.sort에서는 sort(List list) 와 sort(List list, Comparator<? super T> c)이 있다.
항상 첫번째것만 써왔지 두번째껀 한번도 안 써봤다.
첫번째는 list에 단순하게 a,b,c,d,e 값들이 들어가 있으면 순차적으로 비교하여 sort 시켜주면 된다.
두번째는 위의 예제 같이 결과값 안에 있는것 특정 값을 정렬해줄때 사용하면된다.
또한 예제에서는 오버라이딩 해줬는데 그 이유는 휘발성 목적으로 sort를 하기 위해서 사용한다고 보면 된다.
하지만 특정 Comparator를 여러곳에다가 써야된다면 class로 새로 선언을 해주자.
공식문서 보는게 좋다
그리고 기회가 된다면 sort가 발생할 시 어떻게 뎁스구조가 들어가는지 확인을 해보자.
'JAVA' 카테고리의 다른 글
Java Static (0) | 2020.03.26 |
---|