读书人

比较两个HashMap是不是相同

发布时间: 2012-09-04 14:19:30 作者: rapoo

比较两个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);}}

?

读书人网 >编程

热点推荐