文章目录

  • 1 问题背景
  • 2 分析
  • 3 实现
  • 3.1 单字段排序
  • 3.2 多字段级联排序

1 问题背景

场景是电商查询优惠活动的活动列表,有8种活动。针对搭售类型的活动按照状态正序、优先级倒叙来排序。其余类型的优惠活动按照创建时间倒叙排序。

2 分析

考虑到只有8种活动中只有1种活动需要特殊的排序规则,那么就不在sql处书写控制搭售活动的排序代码,sql处默认使用大部分活动的排序规则——按时间倒叙,而搭售活动的排序在java代码层面控制,笔者使用Java8流技术来处理排序。

3 实现

3.1 单字段排序

按照status正序排序,按照status倒序排序

// 从数据库列表查询
List<DiscountDTO> discountList = discountMapper.listDiscount();
// 按照status正序排序
discountList.stream().sorted(Comparator.comparing(DiscountDTO::getStatus));
// 按照status倒序排序
discountList.stream()
.sorted(Comparator.comparing(DiscountDTO::getStatus, (val1, val2) -> val2 - val1));

3.2 多字段级联排序

按照status正序、sequence倒序

// 按照status正序、sequence倒序
discountList
.stream()
.sorted(Comparator.comparing(DiscountDTO::getStatus).thenComparing(DiscountDTO::getSequence, (val1, val2) -> val2 - val1));

Java8流处理正序倒序排序相关推荐

  1. java 正序a~z_java 策略模式,list集合,实现id 姓名年龄正序倒序排序(如果年龄或者姓名重复,按id正序排序)...

    策略模式:1.抽象策略类,通常由一个接口或者抽象类实现. 2.具体实现类 3.环境角色类,持有一个策略类的引用,最终给客户端调用. 好了,上代码: package execrise; import j ...

  2. java8: sorted()之正序倒序

    Java 8 Stream sorted()示例 下面代码以自然序排序一个list list.stream().sorted() 自然序逆序元素,使用Comparator 提供的reverseOrde ...

  3. js数组排序,数组按照某个字段正序倒序排序方法,sort()

    话不多说直接看案例哈 比如后端返回了一个数组集合,需要吧默认选项放在第一条 let arr = [{isDefault: 0},{isDefault: 0},{isDefault: 1},{isDef ...

  4. Comparable和Comparator接口的区别及Collections.sort排序(正序倒序排序是重点!!)

    1. Comparator 和 Comparable 相同的地方 都是java的一个接口, 并且是用来对自定义的class比较大小的 其中什么是"自定义class": 如 publ ...

  5. 数据按照时间正序倒序排序以及数据反转

    1.在日常开发中这一场景我们会经常遇到,但是前端一般都是从接口中获取的,后端一般都帮我们拍好顺序了(感谢后端开发人员),但是我们可能会遇到后端已经排过顺序了,我们把符合要求的数据的时间给改了,这时候我 ...

  6. stream流倒序排序_java8 stream 操作map根据key或者value排序的实现|chu

    引言 最近小编自己一个人在负责一个项目的后台开发,其中有一部分是统计相关的功能,所以需要一些排序或者分组的操作,之前这种操作小编觉得还是比较麻烦的,虽热有一些现成的工具类,但是工具类的写法也是比较复杂 ...

  7. pandas使用sort_values函数对dataframe的日期数据列进行排序(设置ascending参数进行正序或者倒序排序)

    pandas使用sort_values函数对dataframe的日期数据列进行排序(设置ascending参数进行正序或者倒序排序) 目录

  8. Axhub Charts学习记录贴-条形图添加正序排序/倒序排序功能

    axure中添加条形图与两个按钮,为方便操作,为按钮分别命名为"正序排序""倒序排序" 为按钮添加单击交互事件,选择"更新行",目标对象选择 ...

  9. mysql 2008降序排列,sql倒序排序语句

    sql中的排序,如何使用倒序 sql中的排序使用倒序的步骤如下: 我们需要准备的材料分别是:电脑.sql查询器. 1.首先,打开sql查询器,连接上相应的数据库表,例如test表,以score字段倒序 ...

最新文章

  1. mybatis之trim prefix= suffix= suffixOverrides= prefixOverrides=/trim
  2. 带你玩转七牛云存储——高级篇
  3. 今日拷问:侬是什么垃圾!
  4. WSDL文件生成Java代码
  5. 网络工程师专用linux,软考网络工程师考点精讲之Linux系统
  6. 基于Matlab/simulink的转速电流双闭环直流调速系统的仿真
  7. lpt监控安装_LPT说明书
  8. 学计算机导论的感悟,学习《计算机导论》后的感想
  9. vs code 的常用快捷键列表
  10. Android 使用高德SDK编写周边搜索定位
  11. ad7606与stm32连接电路介绍
  12. 【概率论】贝叶斯法则
  13. EleutherAI GPT-Neo: 穷人的希望
  14. 无人车路径规划算法---(4)基于搜索的路径规划算法 II(贪心/Astar)
  15. C#加壳工具做代码加密保护
  16. 2020年9月19日 晴
  17. 用java做小学数学系统_基于jsp的小学数学试卷生成-JavaEE实现小学数学试卷生成 - java项目源码...
  18. TJA1051T/1参数
  19. Maven Dependency设置,详解! 1
  20. 【JAVASCRIPT】jquery实现图片笼罩效果

热门文章

  1. 互联网专业委员会 (Internet 缩写 CCF TCI)
  2. C# 程序集(Assembly)
  3. Python程序写诗【训练1分钟】古诗生成
  4. 安卓recovery系统详解
  5. JavaScript新人总结
  6. (2021 ICCV)Specificity-preserving RGB-D Saliency Detection(A类)
  7. 如何用div实现炫酷3D球体?
  8. 非对称加密算法——RSA
  9. 系统资源的观察(摘自鸟哥的私房菜)
  10. jquery.easyui.min.js引导文件