我试图使用Java流对对象的两个属性进行groupingBy,这可以通过一些答案的记录很容易地实现:
products.stream().collect(
Collectors.groupingBy(Product::getUpc,
Collectors.groupingBy(Product::getChannelIdentifier)));
例如,上面的代码片段将生成一个形式为“Map of Maps”的映射。
Map<String, Map<String, List<Product>>>
一个地图的键是UPC码,它的值是一些有渠道标识符作为键的地图,这些地图引用了产品列表。
很酷,但如果我不需要嵌套的值是一个地图呢?也就是说,我想通过ChannelIdentifier组织嵌套集合,但我只关心地图的.values(),而不是地图本身。有没有办法得到与以下匹配的结果?
Map<String, List<List<Product>>
无论是列表还是集合...都没关系。谢谢!