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}

相关推荐
苹果酱05674 分钟前
Vue3 源码解析(六):响应式原理与 reactive
java·vue.js·spring boot·mysql·课程设计
小川_wenxun21 分钟前
线程池的介绍
java·开发语言
知其然亦知其所以然34 分钟前
面试官问我 Java 原子操作,我一句话差点让他闭麦!
java·后端·面试
Sc Turing39 分钟前
Spring中的AOP基础理解
java·spring
栗筝i40 分钟前
Spring Boot 核心模块全解析:12 个模块详解及作用说明
java·spring boot·后端
Cache技术分享43 分钟前
55. Java 类和对象 - 了解什么是对象
java·后端
都叫我大帅哥1 小时前
代码界的「万能前台」:门面模式的调停艺术
java·后端·设计模式
forestsea1 小时前
基于maven-jar-plugin打造一款自动识别主类的maven打包插件
java·maven·jar·自定义插件
bing_1581 小时前
Spring MVC DispatcherServlet 的作用是什么? 它在整个请求处理流程中扮演了什么角色?为什么它是核心?
java·spring·mvc