java.lang.IllegalStateException: Duplicate key 0

错误信息

java.lang.IllegalStateException: Duplicate key 测试1
	at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133)
	at java.util.HashMap.merge(HashMap.java:1245)
	at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320)
	at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)

测试代码

import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @Author: Huathy
 * @ClassPath: PACKAGE_NAME.Test
 * @Date: 2021-03-13 17:34
 * @Description:
 */
public class Test {
    public static void main(String[] args) {
        List<Map.Entry> list = new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            Map.Entry entry = new AbstractMap.SimpleEntry<>(1,i);
            list.add(entry);
        }
        Map<Object, Object> map = list.stream().collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
        System.out.println(map);
    }
}

解决方案

import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @Author: Huathy
 * @ClassPath: PACKAGE_NAME.Test
 * @Date: 2021-03-13 17:34
 * @Description:
 */
public class Test {
    public static void main(String[] args) {
        List<Map.Entry> list = new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            Map.Entry entry = new AbstractMap.SimpleEntry<>(1,i);
            list.add(entry);
        }
        Map<Object, Object> map = list.stream().collect(
                Collectors.toMap(
                        Map.Entry::getKey,
                        Map.Entry::getValue,
                        //以最后一个元素为准,更新
                        //(e1,e2) -> e2
                        //以第一个元素为准,不更新
                        (e1,e2) -> e1
                ));
        System.out.println(map);
    }
}
posted @   Huathy  阅读(30)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示