@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;
}