list中map集合按key去重

java 复制代码
package com.ztrs.ioms.utils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<Map<String, Object>> list = new ArrayList<>();
        Map<String, Object> map1 = new HashMap<>();
        map1.put("id", "1");
        map1.put("name", "Alice");

        Map<String, Object> map2 = new HashMap<>();
        map2.put("id", "1"); // 与map1的id相同,视为重复
        map2.put("name", "Bob");

        Map<String, Object> map3 = new HashMap<>();
        map3.put("id", "2");
        map3.put("name", "Charlie");

        list.add(map1);
        list.add(map2);
        list.add(map3);

        List<Map<String, Object>> uniqueList = list.stream()
                .collect(Collectors.toMap(
                        map -> (String) map.get("id"),
                        Function.identity(),
                        (existing, replacement) -> replacement
                )).values().stream().collect(Collectors.toList());

        // 打印结果
        uniqueList.forEach(System.out::println);
    }
}

返回结果:

{name=Bob, id=1}

{name=Charlie, id=2}

相关推荐
sunnyday04262 分钟前
深入理解Java日志框架:Logback与Log4j2配置对比分析
java·log4j·logback
浩瀚地学7 分钟前
【Java】异常
java·开发语言·经验分享·笔记·学习
张np11 分钟前
java基础-LinkedHashMap
java·开发语言
毕设源码-朱学姐20 分钟前
【开题答辩全过程】以 高校图书馆管理系统为例,包含答辩的问题和答案
java
xie_pin_an22 分钟前
C++ 从入门到进阶:核心知识与实战指南
java·c++·算法
Wpa.wk22 分钟前
性能测试-初识性能测试基础(性能测试流程,计划等)
java·运维·经验分享·测试工具·性能测试
小鸡脚来咯28 分钟前
Java 关键字面试解释指南
java
毕设源码-郭学长1 小时前
【开题答辩全过程】以 高校图书推荐系统的设计与实现为例,包含答辩的问题和答案
java
主公不搬砖1 小时前
Nacos 2.5.2 国产信创 kingbase适配
java·docker·nacos·信创·kingbase·国产适配
谷隐凡二1 小时前
Kubernetes Route控制器简单介绍
java·容器·kubernetes