我按照以下步骤构建idMap:
class Item {
private int id;
private int skuId;
//some getter and setter
}
Map<Integer, List<Integer>> buildIdMap(List<Item> items) {
Map<Integer, List<Integer> idMap = Maps.newHashMap();
for (Item item : items) {
if (!idMap.contains(item.getId())) {
idMap.put(item.getId(), List.newArrayList());
}
idMap.put(item.getId(), item.getSkuId());
}
return idMap;
}
我如何利用番石榴或java8做同样的事情?
答案 0 :(得分:0)
您可以使用Java8来做到这一点,
Map<Integer, List<Integer>> idMap = items.stream()
.collect(Collectors.groupingBy(Item::getId,
Collectors.mapping(Item::getSkuId, Collectors.toList())));
答案 1 :(得分:-1)