stream.collect

Map<Integer, TypeEnum> map = Arrays.stream(TypeEnum.values())
                .filter(item -> item.getStatus() != null)
                .collect(Collectors.toMap(TypeEnum::getStatus, item -> item, (v1, v2) -> v1));

在例子中
 .collect(Collectors.toMap(TypeEnum::getStatus, item -> item, (v1, v2) -> v1));

第一个参数TypeEnum::getStatus 表示选择TypeEnum的getStatus作为map的key值;
第二个参数item -> item表示选择将原来的对象作为map的value值;
第三个参数(v1, v2) -> v1中,如果v1与v2的key值相同,选择v1作为那个key所对应的value值

posted @ 2021-10-22 10:20  Idbos6  阅读(85)  评论(0编辑  收藏  举报