Java 关于(v1,v2) -> v2的理解记录
List < Entity> 转 Map<Entity.getId, Entity.getVersion, Entity>
Map<String, String> map = list
.stream()
.collect(toMap(Entity::getId, Entity.getVersion, (v1, v2) -> v2));
解读:
.collect(toMap(Entity::getId, Entity.getVersion, (v1, v2) -> v2));
第一个参数: Entity::getId 表示选择 Entity 的 getId 作为map的key值;
第二个参数: Entity.getVersion 表示选择Entity的getVersion作为map的key对应的每一个value值;
第三个参数:(v1, v2) -> v2 这一行去掉的话,一般情况下也是可以正常执行的;但是,偶然情况下,List中的Entity对象是有可能存在重复的,当map的value出现重复的时候,我们取第2个key和value作为基准,忽略相同的情况;
————————————————
参考原文链接:https://blog.youkuaiyun.com/huanghailiang_ws/article/details/126240790