IT TIP

개체 필드를 기반으로 ArrayList 정렬

itqueen 2020. 10. 17. 12:42
반응형

개체 필드를 기반으로 ArrayList 정렬


중복 가능성 :
연락처 배열 목록 정렬

나는 DataNode객체를 ArrayList. DataNode클래스라는 정수 필드가 있습니다 degree. DataNode.NET Core의 증가하는 순서로 nodeList에서 개체 를 검색하고 싶습니다 degree. 어떻게하니.

List<DataNode> nodeList = new ArrayList<DataNode>();

Comparable 인터페이스를 구현하도록 DataNode 클래스를 수정하십시오.

public int compareTo(DataNode o)
{
     return(degree - o.degree);
}

그런 다음 사용

Collections.sort(nodeList);

사용자 정의 비교기를 사용하십시오.

Collections.sort(nodeList, new Comparator<DataNode>(){
     public int compare(DataNode o1, DataNode o2){
         if(o1.degree == o2.degree)
             return 0;
         return o1.degree < o2.degree ? -1 : 1;
     }
});

Bean Comparator사용 하여 사용자 정의 클래스의 모든 속성을 정렬 할 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/4066538/sort-an-arraylist-based-on-an-object-field

반응형