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值

上一篇:黑马:常用集合算法(261~263)


下一篇:c++笔记 STL set容器_内置类型指定排序规则