【Java】List
2024-09-08 19:18:21
对List中map集合中某个字段排序
升序排列
方法1
Collections.sort(maps, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
return o1.get("createtime").toString().compareTo(o2.get("createtime").toString());
}
});
方法2
maps.sort((o1, o2) -> o1.get("createtime").toString().compareTo(o2.get("createtime").toString()));
方法3
maps.sort(Comparator.comparing(o -> o.get("createtime").toString()));
方法4
工具类
- src/main/java/com/runsky/utils/MapComparatorAsc.java
package com.runsky.utils;
import java.util.Comparator;
import java.util.Map;
public class MapComparatorAsc implements Comparator<Map<String, Object>> {
@Override
public int compare(Map<String, Object> m1, Map<String, Object> m2) {
Integer v1 = Integer.valueOf(m1.get("createtime").toString());
Integer v2 = Integer.valueOf(m2.get("createtime").toString());
if(v1 != null){
return v1.compareTo(v2);
}
return 0;
}
}
使用
- src/main/java/com/runsky/sys/controller/DiydataController.java
Collections.sort(maps, new MapComparatorAsc());
结果
降序排列
工具类
- src/main/java/com/runsky/utils/MapComparatorDesc.java
package com.runsky.utils;
import java.util.Comparator;
import java.util.Map;
public class MapComparatorDesc implements Comparator<Map<String, Object>> {
@Override
public int compare(Map<String, Object> m1, Map<String, Object> m2) {
Integer v1 = Integer.valueOf(m1.get("createtime").toString());
Integer v2 = Integer.valueOf(m2.get("createtime").toString());
if (v2 != null) {
return v2.compareTo(v1);
}
return 0;
}
}
使用
- src/main/java/com/runsky/sys/controller/DiydataController.java
Collections.sort(maps, new MapComparatorDesc());
结果
最新文章
- Object类和常用方法
- Yii应用的目录结构和入口脚本
- mysql级联更新
- 一个不安装Oracle客户端的方法------未经试验
- python+selenium环境配置(windows7环境)
- URL encode 与 URL decode 的C语言实现
- mycat(4)
- sqlserver 自学笔记 函数实训 学分学期转换函数的设计
- 三维dp&;codeforce 369_2_C
- Codeforce C. Bus
- solr中的一些常见错误
- Mysql初级第二天(wangyun)
- 尚硅谷【SpringBoot】web(源码讲解太多不建议阅读)
- day14-函数
- 2018牛客网暑期ACM多校训练营(第四场) A - Ternary String - [欧拉降幂公式][扩展欧拉定理]
- linux下集成开发环境之ECLIPSE--在线调试、编译程序
- 数据库状态标识位flag设计
- PAT乙级1028
- Codeforces Round #294 (Div. 2)C - A and B and Team Training 水题
- 《SPARK/TACHYON:基于内存的分布式存储系统》-史鸣飞(英特尔亚太研发有限公司大数据软件部工程师)
热门文章
- JAVA 【SM2】加密解密
- Selinux讲解
- 一篇教会你写90%的shell脚本
- npm install报错C:\Users\Guyang\AppData\Roaming\npm-cache\_logs\xxx-14T01_06_33_159Z-debug-0.log
- BLOG-2
- IIS7无法访问.apk文件的解决方法
- Python的入门学习Day 10——form”夜曲编程“
- [2] Bert 论文精读
- 【键盘快捷键】Super键
- 杂:使用Shell判断文件换行符(LF/CRLF)