Collections.sort(intervals, new Comparator<Interval>(){
@Override
public int compare(Interval obj0, Interval obj1) {
return obj0.start - obj1.start;
}
});
왜이 비교 함수를 재정 의하여 Collections.sort 메서드를 사용할 수 있습니까? 감사합니다.오버라이드 컬렉션 정렬
비교 자은 인터페이스이기 때문에 정렬 기능이이 인터페이스를 구현합니까? –
PepperGo
public static void 더 많이 ... sort (List 리스트, Comparator c) –
PepperGo
왜 'Comparator'를 제공해야하는지 묻는다면, 'Interval'은 * natural ordering을 가지지 않기 때문입니다 * 또는 다른 순서로 정렬하기를 원하기 때문입니다. * natural ordering *에 대한 설명은 ['Comparable'] (https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html)의 javadoc을 참조하십시오. 다른 말로하면, ['sort()'] (https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html#sort-java.util.List -)는 'Comparator'를 취하지 않으므로 클래스가 자연 순서를 가질 것을 요구합니다. 즉, Comparable을 구현해야합니다. – Andreas