如何基于变量值对ArrayList进行排序

时间:2013-05-18 21:34:52

标签: java sorting arraylist

我有一个ArrayList<Users> users_list;,在用户中我有名字,姓氏,年龄等。我想实现一种排序算法,根据用户年龄对我的arraylist进行排序。我搜索了很多但发现只是为了排序数组。

2 个答案:

答案 0 :(得分:6)

使用自定义java.util.Comparator

public class UserComparator implements Comparator<User> {
    @Override
    public int compare(User u1, User u2) {
        return u1.getAge().compareTo(u2.getAge());
    }
}

然后排序:

Collections.sort(users_list, new UserComparator());

答案 1 :(得分:0)

看看这里。 JavaBeans Comparison。 第二个答案似乎更重要。

我建议使用http://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections/ComparatorUtils.html#naturalComparator()

作为BeanComparator的比较器参数。