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

How to sort ArrayList based on a variables value

本问题已经有最佳答案,请猛点这里访问。

我有一个ArrayList users_list;,在用户中我有名字、姓氏、年龄等,我想实现一个排序算法,根据用户年龄对数组列表进行排序。我搜索了很多,但只找到了排序数组。


使用自定义java.util.Comparator

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

排序方式如下:

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

看看这里。JavaBeans比较。第二个答案似乎更切题。

我建议使用http://commons.apache.org/proper/commons collections/apidocs/org/apache/commons/collections/comparatorutils.html naturalcomparator()。

作为比较器的比较器参数。