亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將地圖轉換為地圖列表

將地圖轉換為地圖列表

jeck貓 2022-01-19 09:43:57
我有一個要求,我想將地圖轉換為地圖列表。我嘗試了以下代碼,List<Map<String, Object>> response = new ArrayList<>();Set<Long> categories = new HashSet<>();List<CCP> ccpList = ccpRepository.findByPIdIn(ids);Map<Integer, List<Integer>> categoriesByProduct = ccpList.stream()                  .collect(Collectors.groupingBy(ccp -> ccp.getPId(), Collectors.mapping(ccp-> ccp.getCId(), Collectors.toList())));for(Entry<Integer, List<Integer>> en : categoriesByProduct.entrySet()) {    Map<String,Object> responseObject = new HashMap<>();    responseObject.put("pid", en.getKey());    responseObject.put("categories",en.getValue());    response.add(responseObject);}有什么方法可以修改java 8風格的以下代碼:for(Entry<Integer, List<Integer>> en : categoriesByProduct.entrySet()) {    Map<String,Object> responseObject = new HashMap<>();    responseObject.put("pid", en.getKey());    responseObject.put("categories",en.getValue());    response.add(responseObject);}
查看完整描述

2 回答

?
慕桂英4014372

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;

}



查看完整回答
反對 回復 2022-01-19
?
喵喔喔

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());


查看完整回答
反對 回復 2022-01-19
  • 2 回答
  • 0 關注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號