객체의 표시기 크기에 따라 컬렉션의 객체를 컬렉션에 정렬하거나 오름차순 또는 내림차순 순서를 정렬합니다. 코드는 다음과 같습니다.
주문 하강 순서
내림차순 정렬 Collections.SORT (목록, 새 비교기 <resulttypedesc> () {public int compare (resulttypedesc o1, resulttypedesc o2) {return o2.getratio (). compareto (o1.getratio ());}});오름차순 순서를 정렬합니다
collections.sort (목록, 새 비교기 <resulttypedesc> () {public int compare (resulttypedesc o1, resulttypedesc o2) {return o1.getRatio (). Compareto (o2.getRatio ());});테스트 후 두 객체의 위치를 오름차순 또는 내림차순으로 만 변경하면됩니다.
메트릭이 동일하다면 여러 메트릭에 따라 정렬하고 비교기를 만듭니다.
import java.util.*; Public Class ComparatorResultType 구현 비교기 {public int Compar (Object Arg0, Object Arg1) {resulttypedesc desc0 = (resulttypedesc) arg0; resulttypedesc desc1 = (resulttypedesc) arg1; // 먼저 주요 표시기를 비교합니다. 기본 표시기가 동일하면 보조 지표 int flag = desc0.getxxx (). compareto (desc1.getxxx ()); if (flag == 0) {return desc0.getxxx2 (). compareto (desc1.getxxx2 ()); } else {return 플래그; }}} // 테스트 클래스의 코드 : 비교기 레스 룰 타임 비교기 = new ComparatorResultType (); collections.sort (list, comparator);목록 세트의 역 출력 :
Collections.Reverse (목록);
resulttypedesc는 필요한 엔티티 클래스 객체이며 자신의 코드와 함께 사용할 수 있습니다.
이 방법은 널 포인터를보고하고 상황을 결합하여 직접 해결하고 그것이 널 여부를 결정할 수 있습니다.