开发随笔 -- List 根据内部对象属性值重新排序

List 内部对象重新排序

Java Web项目中,通常会从数据库获取对象集合以List进行存储,当获取的集合数据需要根据某个值进行排序时,可以采用 sort 方法进行重新排序

方案一:使用Collections类的 sort 方法

public static void sort(List list, Comparator<? super T> c)

示例代码:

Collections.sort(list, new Comparator<DataDemo>() {
   @Override
   public int compare(DataDemo o1, DataDemo o2) {
       return o2.getStature() - o1.getStature();
   }
});

注意:

  1. compare 方法的返回值必须是int类型,若两个参数的差值不是整数,须处理外整数
  2. compare 的 参数1 - 参数2 返回正数,则按照正序排序;参数1 - 参数2 返回负数,按照降序排序。

方案二: 使用List 自带的 sort 方法

default void sort(Comparator<? super E> c)

示例代码:

list.sort(new Comparator<DataDemo>(){
   @Override
   public int compare(DataDemo o1, DataDemo o2) {
       return o1.getAge() - o2.getAge();
   }
});
发布了27 篇原创文章 · 获赞 2 · 访问量 3510

猜你喜欢

转载自blog.csdn.net/tysite/article/details/93605866