java list中的对象,按对象某属性排序

1:对象类 需要 实现:

public class TreeNode extends BaseBean implements Comparable <TreeNode>

{

 private Integer sortNumber; 

 private List<TreeNode> children = new ArrayList<TreeNode>(); //孩子节点

 ...

//重写比较方法

/* 返回负数表示:o1 小于o2,  

  * 返回0 表示:o1和o2相等,  

  * 返回正数表示:o1大于o2。

*/ 

@Override
public int compareTo(TreeNode o) {
if(this.sortNumber!=o.getSortNumber()){
return sortNumber-o.getSortNumber();  
}else if(sortNumber==o.getSortNumber()){
return 0;
}else {
return sortNumber-o.getSortNumber();
}
}

}

2:使用过程中对list<TreeNode>排序即可。

Collections.sort(node.getChildren());

 注:引用jar包:java.util.Collections

原文地址:https://www.cnblogs.com/lj821022/p/5730674.html