@Test
public void duplicateKeyDemo(){
// 测试数据
List<Commodity> list = this.getCommodityList();
// 去重
Map<String, Commodity> mapSuccess = list.stream()
.collect(Collectors.toMap(Commodity::getCode, Function.identity(),(commodity1, commodity2) -> commodity1));
log.info("mapSuccess:{}", mapSuccess);
// 异常
Map<String, Commodity> mapError = list.stream()
.collect(Collectors.toMap(Commodity::getCode, (p) -> p));
log.info("mapError:{}", mapError);
}
private List<Commodity> getCommodityList(){
List<Commodity> list = new ArrayList<>();
list.add(new Commodity("apple8", 8888));
list.add(new Commodity("apple8", 9999));
list.add(new Commodity("huawei", 6666));
list.add(new Commodity("xiaomi", 5555));
return list;
}
java 8 stream list 转 map(toMap) Duplicate key 异常重现与解决
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 刚接触java8 Stream的时候,经常会感觉分不清楚 peek 与 map方法的区别其实了解一下λ表达式就明白...
- 本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些...
- 编写转换帮助类 遍历出List<JavaBean>的对象,调用上面已经写好的ListBeanToListMap方法...
- 一、背景 在各种系统需要加签的时一般都会把参与签名的数据按get请求参数拼接起来并且要求有序,这个方法会比较方便 ...
- 还在找寻最简单最方便的美容方法吗?还在比较各种食物的卡路里吗? 不不不,你现在需要的不是这个,有一个健康的身体,充...