2 回答

TA貢獻1871條經驗 獲得超13個贊
將 for-loop-content 放在一個函數中并將其與流一起使用:
response = categoriesByProduct.entrySet()
.stream()
.map(e -> toMap(e))
.collect(Collectors.toList());
public static Map<String, Object> toMap(Map.Entry<Integer, List<Integer>> en) {
Map<String,Object> responseObject = new HashMap<>();
responseObject.put("pid", en.getKey());
responseObject.put("categories",en.getValue());
return responseObject;
}

TA貢獻1735條經驗 獲得超5個贊
你可以這樣做,
List<Map<String, Object>> result = categoriesByProduct.entrySet().stream()
.map(e -> Stream
.of(new AbstractMap.SimpleEntry<String, Object>("pid", e.getKey()),
new AbstractMap.SimpleEntry<String, Object>("categories", e.getValue()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)))
.collect(Collectors.toList());
添加回答
舉報