list按照对象某一属性排序
借鉴博客:https://blog.csdn.net/feinifi/article/details/120302824
使用集合类Collections.sort()方法可对list数据排序,使用案例如下:
public static void main(String[] args) { List<Person> list = new ArrayList<Person>(); list.add(new Person(1,"jack",18, false)); list.add(new Person(2,"paul",28, true)); list.add(new Person(3,"zion",20, false)); list.add(new Person(4,"jone",30, true)); list.forEach(System.out::println); //利用Collections.sort方法按照年龄排序,默认升序 // Collections.sort(list, (a, b)->{ // return b.getAge() - a.getAge();//降序 // }); // System.out.println("================================"); // list.forEach(System.out::println); //直接使用List集合sort方法按照姓名排序,默认字母升序
//我改成了b-a让t排在f前面,因为业务要求true为先
list.sort((a,b)->String.valueOf(b.isFinished()).compareTo(String.valueOf(a.isFinished()))); System.out.println("================================"); list.forEach(System.out::println); }
List<Map> 数据按照map里面的时间字段排序:
public static void main(String[] args) {
//map里的time是Date类型
Map m1 = new HashMap();
m1.put("time", DateUtil.stringToDate("2022-7-22"));
Map m2 = new HashMap();
m2.put("time", DateUtil.stringToDate("2022-3-22"));
Map m3 = new HashMap();
m3.put("time", DateUtil.stringToDate("2022-5-22"));
List<Map> list = new ArrayList<>();
list.add(m1);
list.add(m2);
list.add(m3);
list.sort((a,b)->((Date)b.get("time")).compareTo(((Date)a.get("time"))));
list.forEach(System.out::println);
}
list过滤取数据,不使用for循环,过滤出来想要的list集合:
//========================================================================list取数据 Person p = new Person(); p.setName("aaa"); p.setId(1); Person p2 = new Person(); p2.setName("bbb"); p2.setId(2); List<Person> pList = new ArrayList<Person>(); pList.add(p); pList.add(p2); List<Person> ps = pList.stream().filter(a -> a.getName().equals("bbb") && a.getId() == 2).collect(Collectors.toList()); ps.forEach(System.out::println);
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2019-05-31 ELK日志系统之kibana的使用操作
2019-05-31 ELK日志系统之说说logstash的各种配置