Java将list<map>或者list<entity>集合根据指定字段排序
今天项目中用到了,特记录一下
一. List<Map>
如果 item.get(sortField) 有时间,有数字的时候直接toString(),数组结果的排序结果可能不正确
List<Map<String, Object>> resourceCatalogFrontVoList = resourceMapper.selectPublishResourceCatalogList(keyWord, sysId, shareType, openAttribute,
classifyId, resourceType, page);
//排序
Comparator<Map<String, Object>> comparator = Comparator.comparing(item -> item.get(sortField).toString());
if (FrontConstant.SORT_TYPE_ASC == sortType){
//升序
resourceCatalogFrontVoList.sort(comparator);
}else {
resourceCatalogFrontVoList.sort(comparator.reversed());
}
//分页
return page.setRecords(resourceCatalogFrontVoList);
补充
if (FrontConstant.SORT_TYPE_ASC == sortType){
//升序
Collections.sort(resourceCatalogFrontVoList, Comparator.comparing(
item -> item.get(sortField).toString()));
}else {
Collections.sort(resourceCatalogFrontVoList, Comparator.comparing(
item -> item.get(sortField).toString(), Comparator.reverseOrder()));
}
二.List<entity>
List<ResMessageVo> messageVoList = messageMapper.selectUnReadMessage(null, null, null, MessageConstant.MESSAGE_TYPE_MOUNT_RESOURCE_RESULT); //排序
Comparator<ResMessageVo> comparator = Comparator.comparing(item -> item.getCreateTime());
if (FrontConstant.SORT_TYPE_ASC == sortType){
//升序
messageVoList.sort(comparator);
}else {
messageVoList.sort(comparator.reversed());
}
Java将list<map>或者list<entity>集合根据指定字段排序的更多相关文章
- 利用Entity Framework修改指定字段中的值
利用Entity Framework修改指定字段中的值一般我们编辑某些模型的时候会用到类似这样的代码: [HttpPost] public ActionResult Edit(Article mode ...
- list集合中指定字段去重
在开发中,有时会需要指定字段去重,以下为实现方法: 假设有个房地产权的类,其中宗地代码ZDDM值重复,而我们在前端页面显示时,只需要一条数据,因为公共字段都一样: IEqualityComparer需 ...
- entity framwork修改指定字段
1.ef修改时指修改指定字段public void ChangePassword(int userId, string password) { var user = new User() { Id = ...
- Entity Framework搜索指定字段解决方案
public class Book { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; ...
- List集合基于某个字段排序
using System; using System.Collections.Generic; namespace ConsoleApplication1 { class Product { publ ...
- List集合对象根据字段排序
//把需要比较的对象实现Comparable接口实现compareTo方法 public class Address implements Comparable<Address> { St ...
- Linq to entity 执行多个字段排序的方法
可以连续使用:OrderBy,ThenBy 或者 OrderByDescending,ThenByDescending var data = db.User .Where(u => u.User ...
- java的list集合如何根据对象中的某个字段排序?
转自:http://blog.csdn.net/wangjuan_01/article/details/51351633 List集合按某个字段排序 package wjtest_01; import ...
- 黑马程序员——JAVA基础之Map集合
------- android培训.java培训.期待与您交流! ---------- Map集合: 该集合存储键值对.一对一对往里存.而且要保证键的唯一性. 和Set很像,其实Set底层就是使用了M ...
随机推荐
- Django:RestFramework之-------视图
10.视图 GenericAPIView封装一些方法,将这些方法返回值放在类变量位置上. 1.GenericAPIView视图示例:不怎么用 from api.utils.serializers.pa ...
- 17、在vue中引用移动端框架Vux:
1:使用vue-cli创建好项目(此处省略步骤)2:在项目中安装vux:npm install vux --save3:安装vux-loader:npm install vux-loader --s ...
- 【Spring Boot】Spring Boot之五种容器启动后进行相关应用初始化操作方法
一.方式一,使用ApplicationListener<E extends ApplicationEvent>监听ContextRefreshedEvent事件 /** * @author ...
- Python系统运维常用库
1.psutil是一个跨平台库(http://code.google.com/p/psutil/) 能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资 ...
- python的一些包安装
Linux下pip 的安装方法: 使用get-pip.py安装 要安装pip,请安全下载get-pip.py.1: curl https://bootstrap.pypa.io/get-pip.py ...
- 什么是OSI参考模型?
一.OSI参考模型 1.OSI的来源 OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模 ...
- 多态典型用例之virtual
多态典型用例之virtual 参考:https://www.cnblogs.com/dormant/p/5223215.html 1.虚函数(virtual) (1)在某基类中声明为 virtual ...
- 使用MPU6050陀螺仪自制Arduino数字量角器
MPU6050惯性单元是一个3轴加速度计和一个3轴陀螺仪组合的单元.它还包含温度传感器和DCM,可执行复杂的任务. MPU6050通常用于制作无人机和其他远程控制机器人,如自平衡机器人.在本篇文章中, ...
- Linux学习26-linux查看某个时间段的日志(sed -n)-史上最详细
前言 在linux上查找日志的时候,如果我想找出某个时间段的日志,比如查找今天早上8点到下午2点的日志. 用grep不太方便直接过滤出来,可以使用sed根据时间去查找 sed -n '/开始时间日期/ ...
- js事件3-事件对象
对于每次点击一个事件,都会产生一个事件对象,这个事件对象中包含了这个事件的很多信息 我们来看看事件对象具体有哪些信息 Object.onclick=function(e){ ..... }其中的参数e ...