Java 中, 对形如 List<Map<String, Object>> 中的 Map 指定的某个 key 值进行排序(此处以 age 排序)
2022/5/12 17:27:22
本文主要是介绍Java 中, 对形如 List<Map<String, Object>> 中的 Map 指定的某个 key 值进行排序(此处以 age 排序),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
构建数据:
List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> map1 = new HashMap<>(); map1.put("name", "李四"); map1.put("age", 23); map1.put("wight", 74); list.add(map1); Map<String, Object> map2 = new HashMap<>(); map2.put("name", "李四老婆"); map2.put("age", 31); map2.put("wight", 65); list.add(map2); Map<String, Object> map3 = new HashMap<>(); map3.put("name", "李四表哥"); map3.put("age", 27); map3.put("wight", 53); list.add(map3); Map<String, Object> map4 = new HashMap<>(); map4.put("name", "李四妈妈"); map4.put("age", 57); map4.put("wight", 49); list.add(map4); System.out.println(" 排序前:"); System.out.println(list);
构建数据为:
此例以 age 排序
升序方法1:
System.out.println("\n 升序排(方法1)"); List<Map<String, Object>> ascList = list.stream().sorted(Comparator.comparing(map -> map.get("age").toString())).collect(Collectors.toList()); System.out.println(ascList);
构建排序字段库
/** * 自定义排序字段库 */ class MapSortFieldFactory{ public static Integer getMapValueByAge(Map<String, Object> map){ return (Integer) map.get("age"); } }
升序方法2:
System.out.println("\n 升序排(方法2)"); List<Map<String, Object>> ascList2 = list.stream().sorted(Comparator.comparing(MapSortFieldFactory::getMapValueByAge)).collect(Collectors.toList()); System.out.println(ascList2);
降序:
System.out.println("\n 降序排"); List<Map<String, Object>> descList = list.stream().sorted(Comparator.comparing(MapSortFieldFactory::getMapValueByAge).reversed()).collect(Collectors.toList()); System.out.println(descList);
这篇关于Java 中, 对形如 List<Map<String, Object>> 中的 Map 指定的某个 key 值进行排序(此处以 age 排序)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略