java8 stream 多字段条件排序

很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理

//返回 对象集合以类属性一升序排序

//返回 对象集合以类属性一降序排序 注意两种写法

//返回 对象集合以类属性一升序 属性二升序

//返回 对象集合以类属性一降序 属性二升序 注意两种写法

//返回 对象集合以类属性一降序 属性二降序 注意两种写法

//返回 对象集合以类属性一升序 属性二降序 注意两种写法

通过以上例子我们可以发现

1. Comparator.comparing(类::属性一).reversed();

2. Comparator.comparing(类::属性一,Comparator.reverseOrder());

两种排序是完全不一样的,一定要区分开来 1 是得到排序结果后再排序,2是直接进行排序,很多人会混淆导致理解出错,2更好理解,建议使用2

实际例子:

现有一个类test 有两个属性:state 状态 time 时间,需要状态顺序且时间倒序

运行结果:

 

 

0

发表评论

您的电子邮箱地址不会被公开。