在如下场景会使用到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来运用