在如下場景會使用到mapspring
動態添加數據:sql
一、須要在定時器中添加新數據,且覆蓋掉以前舊的數據spa
好比車輛的gps信息,每幾秒鐘會有gps上傳,那麼須要肯定是某一輛車的gps而且是惟一的,就須要用到map來去重,保持最新的gps數據對象
通常均可以用來維護實時數據,若是有什麼須要實時的,能夠先想一想mapget
二、須要在循環中添加新數據select
至關於sql中的select dinstinct ,找到不重複的全部數據,好比要查找全部不一樣的人員名稱,就是select dinstinct name循環
在map中就至關於map.put(name, person),這樣用名字做爲鍵,map中的人就是不重複的了(固然沒考慮名字相同的人~)遍歷
每每都是遍歷一個list,而後從map中取當前list項的值做爲對應key,好比map.get(list.get(i).getName()),若是爲空則new一個對象塞值放入map,不爲空則作一些其餘操做map
這樣的操做同時也能夠用到行專列中(不過要用sql的話,sql已經提供至關方便的行專列啦~)定時器
經常用到if判斷,有時候加一個分支判斷就須要補充一個分支,若是條件都比較統一,並且都是判斷後得到一個值的話(關鍵),好比都是判斷當a是否是等於某個值,等於就return b時,就能夠嘗試改用map來替換,判斷的條件能夠做爲鍵,得到的值能夠做爲值,在工廠模式中還能夠結合spring來運用