1、业务代码

 public IPage<TaskRecordListVO> selectRecordListPage(IPage<TaskRecordListVO> page) {//下发记录taskRecordListVOS = baseMapper.selectSendCompleteList();//申请记录taskRecordListVOS.addAll(baseMapper.selectTaskCompleteList());//合并Collections.reverse(taskRecordListVOS);//按时间排序ListSortUtil<TaskRecordListVO> listSortUtil = new ListSortUtil<TaskRecordListVO>();listSortUtil.sort(taskRecordListVOS, "createTime", "desc");return  page.setRecords(taskRecordListVOS);

2、排序工具类

package org.springblade.police.util;import java.lang.reflect.Method;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;/***  List按照指定字段排序工具类** @param <T>*/public class ListSortUtil<T> {/*** @param targetList 目标排序List* @param sortField 排序字段(实体类属性名)* @param sortMode 排序方式(asc or  desc)*/@SuppressWarnings({ "unchecked", "rawtypes" })public void sort(List<T> targetList, final String sortField, final String sortMode) {Collections.sort(targetList, new Comparator() {@Overridepublic int compare(Object obj1, Object obj2) {int retVal = 0;try {//首字母转大写String newStr=sortField.substring(0, 1).toUpperCase()+sortField.replaceFirst("\\w","");String methodStr="get"+newStr;Method method1 = ((T)obj1).getClass().getMethod(methodStr, null);Method method2 = ((T)obj2).getClass().getMethod(methodStr, null);if (sortMode != null && "desc".equals(sortMode)) {retVal = method2.invoke(((T) obj2), null).toString().compareTo(method1.invoke(((T) obj1), null).toString()); // 倒序} else {retVal = method1.invoke(((T) obj1), null).toString().compareTo(method2.invoke(((T) obj2), null).toString()); // 正序}} catch (Exception e) {throw new RuntimeException();}return retVal;}});}}

两个List合并,并且按某一个字段排序相关推荐

  1. jQuery对Table一个字段排序

    最近做一个机票的系统,要对航班信息进行排序,所以整理了一下,把排序的方法写下来. 首先table的结构大概如下 最后显示的样式为 首先在每一个tr上加一个自定义属性:data-sort-field-f ...

  2. mysql一个字段为空时使用另一个字段排序

    表中有两个日期字段createDate,updateDate.其中updateDate可以为空,要求使用updateDate排序,如果updateDate为空则使用createDate排序,结果要顺序 ...

  3. list根据某一个字段排序返回

    public static void main(String[] args) {List<RejectionRecord> list = new ArrayList<>();R ...

  4. python如何将两个list合并成字典_怎么把两个列表合并成字典 论Python怎样将两个list合并为一个字典...

    Python怎样把2个列表合成为一个字典? 怎样把2个列表合成一个字典里了?如果你从一开始就选择低下头的话你就可以一直低着头.可是如果你一开始选择了昂着头的话你就永远不能低头了.荣辱说到底只是一瞬间的 ...

  5. mysql查询字段纯字母_解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题...

    解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题 解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题 目录 1.使用场景 2.实现过程及展示结果 2.1.修改字段排序规则为u ...

  6. Java合并两个int数组合并_Java中如何把两个数组合并为一个

    在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁,却还是值得思考的.这里介绍四种方法,请参考选用. 一.apache-commons 这是 ...

  7. ubuntu xfce下面两个终端合并为一个终端

    我们现在想把两个终端合并为一个终端,以便于管理 方法如下: ①左侧终端新开一个tab,如下: ②经过上述操作原来的终端就也变成tab了 我们不理会新开的"空白tab",鼠标拖动ta ...

  8. python list合并_python基础===两个list合并成一个dict的方法

    def Run(): list2 = [, , , , ]; list3 = ["a", "b", "c", "d",& ...

  9. Java实现把两个数组合并为一个的方法总结

    本文实例讲述了Java实现把两个数组合并为一个的方法.分享给大家供大家参考,具体如下: 在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁, ...

最新文章

  1. CMS:听我的,生产环境上要这样配置JVM参数
  2. 测试两个主机之间的连通性_UCloud 全链路大规模网络连通性检测系统详解
  3. python 字符串转字节数组
  4. Rails开发细节《七》ActiveRecord Associations关联
  5. python对象_查找Python对象具有的方法
  6. Xshell远程访问工具及epel-release包安装
  7. file.delete删除不了文件_巧用磁盘清理,彻底清除Windows系统垃圾文件
  8. 非华为电脑安装华为电脑管家步骤
  9. OC容器——图书馆 .h 文件
  10. nodejs中使用nodemon加载文件报错
  11. 总结淘宝客应该注意的佣金陷阱
  12. 多元函数偏导数连续、存在与可微的关系
  13. 智能(语音)对话系统架构研究
  14. 如何同时给多个视频加水印?
  15. android代码精华 各路大神写的代码精华,大家一起分享
  16. Netlogon特权提升漏洞
  17. 【mcuclub】称重-HX711
  18. 自动驾驶(四十七)---------超声波雷达简介
  19. 低通滤波器计算截止评率_技术货:滤波器带宽及对应RC的计算
  20. Nginx的部署与配置

热门文章

  1. WOLFLAB CCNP交换-园区网安全PVLAN配置过程
  2. 小镇走出的大厂女程序员,也害怕努力后仍一无所获
  3. OpenStack双网卡、多节点搭建
  4. 渗透测试常用文件传输方法-Linux篇(如何向Linux服务器中上传文件?) (゚益゚メ) 渗透测试
  5. 《计算机应用》 投稿经验
  6. 经典蓝牙和低功耗蓝牙的区别
  7. 前端酷炫效果参考_纯CSS3实现的一些酷炫效果
  8. 学习Python处理Excel 难度1级别 多表合并、数据透视表、拆分合并单元格并获得一维表
  9. 【C语言】c语言中的数组和字符串
  10. arcgis.js加载geojson