日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HashMap实现相同key,对value的操作

發布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HashMap实现相同key,对value的操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關注 “弋凡”(YiFan)微信公眾號吧 記錄簡單筆記 做你的最愛

問題產生背景:需要按照月份得到相關對象

(此篇文章純屬個人看法)

比如來說:(按每一天來算)

1月第一天我睡了一天,1月第二天我吃了一天

2月玩了一個月,

3月每一天都在學習呀~

怎么統計每個月都做了什么

那么對應數據庫中

有一種方法是按照時間來查詢然后把查詢出來的都存在Map集合中—這顯然也是一種方法 但是好像不是很智能的樣子感覺,問題你如何判斷時間來進行查詢吶?

于是乎有了這個問題

如何解決?

重新了HashMap的put方法

public class MHashMap<K,V> extends HashMap<K,V> {/*HashMap實現相同key,對value的不同操作存放在集合中*/@Overridepublic V put(K key, V value) {V newV = value;List<V> list = new ArrayList<>();// containsKey - -- 判斷是否包含指定的鍵名if(containsKey(key)){List v = (List)get(key);v.add(value);list = v;}else {list.add(newV);}return super.put(key,(V)list);} }

controller 中

public ResultDTO<Plan> getPlans(){List<Plan> planList = planService.list();MHashMap<String, Plan> hashMap = new MHashMap<>();ResultDTO<Plan> resultDTO = new ResultDTO<>();if(!StringUtils.isEmpty(planList)){for (int i = 0; i < planList.size(); i++) {hashMap.put(planList.get(i).getPGmtCreate().toString().split("-")[1],planList.get(i));}resultDTO.setMapObj(hashMap);resultDTO.setMsg("請求成功");resultDTO.setCode(200);return resultDTO;}else {resultDTO.setMapObj(null);resultDTO.setMsg("請求失敗");resultDTO.setCode(400);return resultDTO;}}

請求結果如圖所示


特此記錄
end —

快來關注“弋凡”微信公眾號吧

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的HashMap实现相同key,对value的操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。