如何根据变量值对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进行排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何按前缀整数值对 ArrayList<String> 进行排序[重复]
如何根据特定索引范围对 ArrayList<String> 进行排序
如何根据 array[0] 元素对数组的 ArrayList 进行排序,该元素是以 dd/mm/yyyy 格式给出的日期?