java8使用 Comparator.comparing 进行排序
List<类> list; 代表某集合//返回 对象集合以类属性一升序排序
list.stream().sorted(Comparator.comparing(类::属性一));//返回 对象集合以类属性一降序排序 注意两种写法
list.stream().sorted(Comparator.comparing(类::属性一).reversed());//先以属性一升序,结果进行属性一降序
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()));//以属性一降序//返回 对象集合以类属性一升序 属性二升序
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(类::属性二));//返回 对象集合以类属性一降序 属性二升序 注意两种写法
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二));//先以属性一升序,升序结果进行属性一降序,再进行属性二升序
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()).thenComparing(类::属性二));//先以属性一降序,再进行属性二升序//返回 对象集合以类属性一降序 属性二降序 注意两种写法
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二,Comparator.reverseOrder()));//先以属性一升序,升序结果进行属性一降序,再进行属性二降序
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()).thenComparing(类::属性二,Comparator.reverseOrder()));//先以属性一降序,再进行属性二降序//返回 对象集合以类属性一升序 属性二降序 注意两种写法
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二).reversed());//先以属性一升序,升序结果进行属性一降序,再进行属性二升序,结果进行属性一降序属性二降序
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(类::属性二,Comparator.reverseOrder()));//先以属性一升序,再进行属性二降序//空/Null数据排序
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(item -> item.属性二, Comparator.nullsLast(Date::compareTo))).collect(Collectors.toList());//空/Null数据分组
Map<String, List<类>> map = list.stream().collect(Collectors.groupingBy(item -> {if (item.属性一 == null || item.属性一.equals("")) {return "";}return DateFormat.getDateInstance().format(item.属性一);
}))
Comparator.comparing(类::属性一).reversed();
Comparator.comparing(类::属性一,Comparator.reverseOrder());
两种排序是完全不一样的,一定要区分开来 1 是得到排序结果后再排序,2是直接进行排序,
java8使用 Comparator.comparing 进行排序相关推荐
- Java8 lambda表达式,Comparator.comparing().thenComparing()报错
环境 Java:1.8+ 前言 今天发了一个问题: 问题描述: 对List进行排序,如果在Comparator.comparing()方法中,只使用一个字段排序,没有问题. 但是如果使用多字段排序,并 ...
- Comparator.comparing嵌套对象倒序以及多重条件排序
一.嵌套对象倒序的正确书写方式 描述:对象A内部封装对象B,根据B的字段做倒排 Comparator<User> ageDescCom = Comparator.comparing(tem ...
- 【Java 8 新特性】Java Comparator.comparing | 提取对象属性,按照指定规则排序
Java Comparator.comparing | 提取对象属性,按照指定规则排序 Comparator.comparing Comparator.comparingInt Comparator. ...
- java list集合自定义排序_Java 通过 Comparator comparing 对 list 自定义 排序
摘要: 在日常开发中,经常会用到排序算法,这里记录下日常使用比较多的排序方法,其中包括按指定指定:正序.倒序排序,还有按自定义字段排序的方法,方便日后查看: 一:按指定字段排序,默认倒序,如下写法: ...
- java多字段排序,Java8对多个字段排序
Java8对多个字段排序 创建User对象 public class Users { private Long id; private String name; private String code ...
- java8重写comparator,Java 8 Lambda : Comparator 示例
Developer.java import java.math.BigDecimal; /** * Developer * * @author 三产 * @version 1.0 * @date 20 ...
- Comparator.comparing的使用
这个方法的作用就是根据对象某个属性来进行排序. 我们看一下一般我们使用的方法,和使用Comparator.comparing改进的方法. Collections.sort(tickets, (a, b ...
- Java8 Stream 分页-多字段排序-筛选
分页 list.stream().skip((page-1)*limit).limit(limit).collect(Collectors.toList()) 筛选 Set<String> ...
- Java8——Stream流操作List排序_List集合中每个对象元素按时间顺序排序
一个学生类的实体类 @Data public class Student {private Long id;private String name;private int age;private Do ...
- Java8 的 Comparator 用法
java1.8 的新的函数式的 Comparator 不要太方便了. 可以轻松的实现各种List 的排序, 比以前写什么匿名的内部类, 静态类方便了很多, 很多. //比较器 //按照sort_id ...
最新文章
- 转: IO设计模式:Reactor和Proactor对比
- 东方数智发布新品AIDOL™,打造人工智能偶像全息平台
- lind.ddd博客笔记索引
- optee3.8 qemu_v8的环境搭建篇
- 【深度学习】在PyTorch中使用 LSTM 自动编码器进行时间序列异常检测
- Calendar(显示日期)
- Scrum板与Kanban如何抉择?waysupaie板与按照oukotb
- Android 四大组件面试
- C语言--16进制转字符串
- unity3d Realistic eye shading 真实的眼睛渲染
- 游戏公司岗位有哪些?各职位都是做什么的?有什么特点?
- 心得|Python新手如何渡过小白期,不再当菜鸟程序员?
- Thinkphp5乐兔CRM之Mockplus 原型设计的登录页
- Linux中国对话龙蜥社区4位理事:龙蜥操作系统捐赠的背后,是谁在推动?
- FPGA 串口波特率时钟的概念
- 【渝粤题库】国家开放大学2021春2403外科护理学题目
- 2013年网站内容建设新趋势
- 用xinnet新网API实现动态域名
- 对机载预警雷达STAP的慢时调频干扰matlab
- UC浏览器不让访问网站的解决办法
热门文章
- python里的str.format_详解Python中的str.format方法
- 对于Biotin-LC-NHS Estercas:72040-63-2与伯氨基 (-NH2) 反应的作用有哪些?
- python列举字符串的五种常用方法_python中字符串、列表、元组、字典每个常用的5个方法...
- 3.2.CPU中的实模式
- Julia常见问题总结
- Win10 安装Docker 杂记
- 苹果授权登录(Sign in with Apple)-JAVA后端开发
- Linux命令之文件分割split命令
- SAS逻辑回归之二分类
- 经典文献阅读之--lris(优于Scan Context的回环检测)