比较两个HashMap是否相同
比较两个HashMap是否相同, 刚看到一个面试题, 就写了下, 如有错误, 还请看到的指正啊?
?
import java.util.HashMap;import java.util.Map;public class MapTest {public static boolean compareMap(HashMap<String,String> map1,HashMap<String,String> map2){if(map1.size()!=map2.size()){ return false;}String tmp1;String tmp2;boolean b=false;for(String key:map1.keySet()){if(map2.containsKey(key)){tmp1=map1.get(key);tmp2=map2.get(key);if(null!=tmp1 && null!=tmp1){ if(tmp1.equals(tmp2)){b=true;continue;}else{b=false;break;}}else if(null==tmp1 && null==tmp2){ b=true;continue;}else{b=false;break;}}else{b=false;break;}}return b;}/** * @param args */public static void main(String[] args) {Map<String,String> hs1=new HashMap<String,String>();Map<String,String> hs2=new HashMap<String,String>();hs1.put("001key","001value");hs1.put("002key","002value");hs1.put("003key","003value");hs1.put("004key",null);hs1.put("005key","005value");hs1.put("006key","006value");hs1.put("007key","007value");hs2.put("001key","001value");hs2.put("002key","002value");hs2.put("006key","006value");hs2.put("005key","005value");hs2.put("007key","007value");hs2.put("004key",null);hs2.put("003key","003value");boolean b=compareMap((HashMap)hs1,(HashMap)hs2);System.out.println(b);}}
?