首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

比较两个map的内容?该如何解决

2012-01-15 
比较两个map的内容?我有两个map,一个是我的map;一个是别人修改的map,我想找出新map比原来的map有哪些改变。

比较两个map的内容?

我有两个map,一个是我的map;
一个是别人修改的map,
我想找出新map比原来的map有哪些改变。有什么好方法?

[解决办法]
Map 中的方法:
boolean containsKey(Object key)
boolean containsValue(Object value)
[解决办法]

遍历取出原来的map 中的key,value然后用下面的方法比较

探讨
Map 中的方法:
boolean containsKey(Object key)
boolean containsValue(Object value)

[解决办法]
Java code
Map<String, String> mapA = new HashMap<String, String>();      Map<String, String> mapB = new HashMap<String, String>();      Map<String, String> mapAdd = new HashMap<String, String>(mapB);      Map<String, String> mapDel = new HashMap<String, String>();      Map<String, String> mapChange = new HashMap<String, String>();      Map<String, String> mapUnChange = new HashMap<String, String>();      Iterator<String> it = mapA.keySet().iterator();      while(it.hasNext()) {         String key = it.next();         String val = mapA.get(key);         if(mapB.containsKey(key)) {            String bVal = mapB.get(key);            if(val != null && val.equals(bVal) || val == bVal) {               mapUnChange.put(key, val);            }            else {               mapChange.put(key, val);            }            mapAdd.remove(key);         }         else {            mapDel.put(key, val);         }      }   }
[解决办法]
探讨
我有两个map,一个是我的map;
一个是别人修改的map,
我想找出新map比原来的map有哪些改变。有什么好方法?

热点排行