toMap(a->a.x+a.b ,a);
按照常规Java的Map思维,往一个map里put一个已经存在的key,会把原有的key对应的value值覆盖。 但Java8中的Collectors.toMap()却不是这样。当key重复时,该方法默认会抛出IllegalStateException异常。 2. 大坑复现 public void streamToMap1() { ListstudentDTOS = Lists.newArrayList(); studentDTOS.add(new Student...
代码如下:Map<String, Parts> synOeMap = synList.stream() .collect(Collectors.toMap(k -> k.getOe()+k.getOeId()+k.getPartGroupId()+k.getStdPartId()+k.getBrandCode(), synOe -> synOe));
toMap(a->a.x+a.b ,a);
Java lambda list转换map时,把多个参数拼接作为key,Map<String,Parts>partsMap=synList.stream().collect(Collectors.toMap(k->k.getOe()+k.getOeId()+k.getPartGroupId()+k.getStdPartId()+k.getBrandCode(),part->part));
Javalambdalist转换map时,把多个参数拼接作为key操作我就废话不多说了,⼤家还是直接看代码吧~Map<String, Parts> partsMap = synList.stream().collect(Collectors.toMap(k -> k.getOe()+k.getOeId()+k.getPartGroupId()+k.getStdPartId()+k.getBrandCode(), part -> part));补充知识:Java8 ...