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}

相关推荐
aithinker5 分钟前
使用QQ邮箱收发邮件遇到的坑 有些WIFI不支持ipv6
java
星火开发设计22 分钟前
C++ 预处理指令:#include、#define 与条件编译
java·开发语言·c++·学习·算法·知识
Hx_Ma1639 分钟前
SpringMVC返回值
java·开发语言·servlet
Yana.nice43 分钟前
openssl将证书从p7b转换为crt格式
java·linux
独自破碎E1 小时前
【滑动窗口+字符计数数组】LCR_014_字符串的排列
android·java·开发语言
想逃离铁厂的老铁1 小时前
Day55 >> 并查集理论基础 + 107、寻找存在的路线
java·服务器
Jack_David1 小时前
Java如何生成Jwt之使用Hutool实现Jwt
java·开发语言·jwt
瑞雪兆丰年兮1 小时前
[从0开始学Java|第六天]Java方法
java·开发语言
一点技术1 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
datalover1 小时前
CompletableFuture 使用示例
java·开发语言