基于对象字段对ArrayList进行sorting
可能重复:
sorting联系人的ArrayList
我将DataNode
对象存储在ArrayList
。 DataNode
类有一个称为degree
的整数字段。 我想从节点列表中以degree
递增的顺序检索DataNode
对象。 我该怎么做。
List<DataNode> nodeList = new ArrayList<DataNode>();
修改DataNode类,以便它实现Comparable接口。
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比较器对自定义类中的任何属性进行sorting。