首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >基于对象字段对ArrayList进行排序

基于对象字段对ArrayList进行排序
EN

Stack Overflow用户
提问于 2010-11-01 11:52:06
回答 3查看 136.8K关注 0票数 85

可能重复:

Sorting an ArrayList of Contacts

我在ArrayList中存储DataNode对象。DataNode类有一个名为degree的整型字段。我想以degree的升序从nodeList中检索DataNode对象。我该怎么做呢。

代码语言:javascript
复制
List<DataNode> nodeList = new ArrayList<DataNode>();
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-01 12:34:52

修改DataNode类,使其实现可比较的接口。

代码语言:javascript
复制
public int compareTo(DataNode o)
{
     return(degree - o.degree);
}

然后只需使用

代码语言:javascript
复制
Collections.sort(nodeList);
票数 67
EN

Stack Overflow用户

发布于 2010-11-01 12:08:44

使用自定义比较器:

代码语言:javascript
复制
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;
     }
});
票数 180
EN

Stack Overflow用户

发布于 2010-11-01 12:11:13

您可以使用Bean Comparator对自定义类中的任何属性进行排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4066538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档