Java8 Stream分组groupBy后,取单一字段值、取列表第一个值方式
·
java8 Stream中groupBy的拓展用法。
取单一字段值、取列表第一个值方式
取某字段成为列表
Map<String, List<String>> ruleMap1 = ruleList.stream().
.collect(Collectors.groupingBy(Rule::getId,
Collectors.mapping(Rule::getRuleName, Collectors.toList())));
取列表中第一个值
Map<String, Rule> ruleMap = ruleList.stream().
.collect(Collectors.groupingBy(Rule::getId,
Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
更多推荐
已为社区贡献1条内容
所有评论(0)