/** * 用map的keySet()的迭代器(性能效率较低) * */ public void compareMap1 (){ Map<String, String> m1 = new HashMap<String, String>();//小 Map<String, String> m2 = new HashMap<String, String>();//大 Iterator<String> iter1 = m1.keySet().iterator(); while (iter1.hasNext()) { String m1Key = (String) iter1.next(); if (!m1.get(m1Key).equals(m2.get(m1Key))) {//若两个map中相同key对应的value不相等 //...... } } } /** * 用map的entrySet()的迭代器(性能效率较高) */ public void compareMap2(){ Map<String, String> m1 = new HashMap<String, String>(); Map<String, String> m2 = new HashMap<String, String>(); Iterator<Entry<String, String>> iter1 = m1.entrySet().iterator(); while(iter1.hasNext()){ Map.Entry<String, String> entry1 = (Entry<String, String>) iter1.next(); String m1value = entry1.getValue() == null?"":entry1.getValue(); String m2value = m2.get(entry1.getKey())==null?"":m2.get(entry1.getKey()); if (!m1value.equals(m2value)) {//若两个map中相同key对应的value不相等 //其他操作... } } } /** * 用map的entrySet()的增强型for循环(性能效率较高) */ public void compareMap3(){ Map<String, String> m1 = new HashMap<String, String>(); Map<String, String> m2 = new HashMap<String, String>(); for(Map.Entry<String, String> entry1:m1.entrySet()){ String m1value = entry1.getValue() == null?"":entry1.getValue(); String m2value = m2.get(entry1.getKey())==null?"":m2.get(entry1.getKey()); if (!m1value.equals(m2value)) {//若两个map中相同key对应的value不相等 //其他操作... } } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步