如何根据变量值对ArrayList进行排序[重复]

Posted

技术标签:

【中文标题】如何根据变量值对ArrayList进行排序[重复]【英文标题】:How to sort ArrayList based on a variables value [duplicate] 【发布时间】:2013-05-13 19:27:57 【问题描述】:

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

【问题讨论】:

【参考方案1】:

使用自定义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());

【讨论】:

【参考方案2】:

看看这里。 JavaBeans Comparison。 第二个答案似乎更中肯。

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

作为 BeanComparator 的比较器参数。

【讨论】:

以上是关于如何根据变量值对ArrayList进行排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java中对ArrayList进行排序[重复]

如何按前缀整数值对 ArrayList<String> 进行排序[重复]

如何在Java中对HashMap进行排序[重复]

如何根据特定索引范围对 ArrayList<String> 进行排序

如何根据 array[0] 元素对数组的 ArrayList 进行排序,该元素是以 dd/mm/yyyy 格式给出的日期?

如何根据日期对 HashMap 进行排序? [复制]