JAVA에서 목록 컬렉션을 정렬합니다.sort()

1451 단어 list정렬
집합의 대상을 정렬하고 대상의 어떤 지표의 크기에 따라 오름차순이나 내림차순으로 정렬한다.코드는 다음과 같습니다.
내림차순 정렬

  
    Collections.sort(list, new Comparator<ResultTypeDesc>() {
      public int compare(ResultTypeDesc o1, ResultTypeDesc o2) {
        return o2.getRatio().compareTo(o1.getRatio());
      }
    });
오름차순 정렬

Collections.sort(list, new Comparator<ResultTypeDesc>() {
public int compare(ResultTypeDesc o1, ResultTypeDesc o2) {
return o1.getRatio().compareTo(o2.getRatio());
   }
});
테스트를 통해 두 대상의 위치를 바꾸기만 하면 오름차순이나 내림차순이 가능하다는 것을 발견하였다.
지표가 같으면 여러 지표에 따라 정렬하고 비교기를 만들어야 합니다.

import java.util.*;

public class ComparatorResultType implements Comparator{

 public int compare(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 flag;
 } 
 }
}

// :
ComparatorResultType comparator=new ComparatorResultType();
Collections.sort(list, comparator);
list 컬렉션을 역출력하려면:
Collections.reverse(list);
ResultTypeDesc 이것은 필요한 실체 클래스의 대상이며, 구체적으로 자신의 코드 상황을 결합하면 된다.
이 방법은 바늘을 비우고 상황을 결합하여 스스로 해결하여 NULL 여부를 판단할 수 있다.

좋은 웹페이지 즐겨찾기