본문 바로가기
JAVA

Collections.sort(List<T> list, Comparator<? super T> c)

by 플람 2020. 3. 19.
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