收集器 (Java) 中的分组依据和映射有什么区别?
看看这段代码。
// group by price, uses 'mapping' to convert List<Item> to Set<String>
Map<BigDecimal, Set<String>> result =
items.stream().collect(
Collectors.groupingBy(Item::getPrice,
Collectors.mapping(Item::getName, Collectors.toSet())
)
);
分组依据和映射是否可以互换?它们有什么区别?
对于 collect() 中的第三个参数,如果我使用 Collectors.toList() 而不是 Collectors.toSet() ,我会得到相同的输出类型 Map 吗?我听说toList()是一个更受欢迎的选择。