天天看点

List按照时间(或某个字段)字段排序

在代码开发中会遇到,讲取到的数据list按照某个字段排序,可以直接使用Collections.sort()方法排序

//排序前,要确认list 是否为空,避免空指针异常
 List <ObejectEntity> list= new arrayList<>();
 Collections.sort(list, new Comparator<ObejectEntity>() {
            @Override
            public int compare(ObejectEntity o1, ObejectEntity o2) {
            //这里使用时间字段排序 如果要用其他字段直接从bean实体中取
            return o2.getPayTime().compareTo(o1.getPayTime());
            //上面使用的是降序排序,如果正序 直接使用o1-o2即可
            }
        });
           

不过现在使用lambda表达式更简洁

//这里是上面的lambda变种方式
 Collections.sort(list, (o1, o2) -> o2.getPayTime().compareTo(o1.getPayTime()));

//如果排序后,需要取前几条,可以直接使用sublist(startIndex , endIndex)
 List<ObejectEntity> orderList=list.subList(0,10);
           

继续阅读