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}

相关推荐
降临-max1 分钟前
JavaWeb企业级开发---Ajax、
java·ajax·maven
NMBG221 分钟前
外卖综合项目
java·前端·spring boot
小徐Chao努力5 分钟前
Spring AI Alibaba A2A 使用指南
java·人工智能·spring boot·spring·spring cloud·agent·a2a
rannn_11115 分钟前
【Git教程】概述、常用命令、Git-IDEA集成
java·git·后端·intellij-idea
我家领养了个白胖胖15 分钟前
向量化和向量数据库redisstack使用
java·后端·ai编程
苹果醋326 分钟前
Java设计模式实战:从面向对象原则到架构设计的最佳实践
java·运维·spring boot·mysql·nginx
郑州光合科技余经理36 分钟前
实战分享:如何构建东南亚高并发跑腿配送系统
java·开发语言·javascript·spring cloud·uni-app·c#·php
yaoxin52112340 分钟前
273. Java Stream API - Stream 中的中间操作:Mapping 操作详解
java·开发语言·python
一念一花一世界44 分钟前
Arbess从基础到实践(25) - 集成GitLab+阿里云OSS实现Java项目自动化构建并将制品上传Aliyun OSS
java·阿里云·gitlab·cicd·arbess
liyi_hz20081 小时前
企业信创落地深水区:O2OA(翱途)平台的国产化适配实践与技术思考
java·开源软件