java中两个hashmap怎么对比
答案:2 悬赏:0 手机版
解决时间 2021-04-01 18:17
- 提问者网友:我是女神我骄傲
- 2021-04-01 13:35
java中两个hashmap怎么对比
最佳答案
- 五星知识达人网友:鸠书
- 2021-04-01 14:24
hashmap比较,可以通过相应的keyset获取键值进行比较
public static void main(String[] args) {
Map map1=new HashMap();
Map map2=new HashMap();
map1.put("key1", "v1");
map1.put("key2", "v2");
map1.put("key3", "v3");
map2.put("key1", "v1");
map2.put("key2", "v3");
map2.put("key4", "v3");
Set set1=map1.keySet();//key1,key2,key3
Set set2=map2.keySet();//key1,key2,key3
//然后通过set1、set2取出每个map的值进行比较就好了
}
public static void main(String[] args) {
Map map1=new HashMap();
Map map2=new HashMap();
map1.put("key1", "v1");
map1.put("key2", "v2");
map1.put("key3", "v3");
map2.put("key1", "v1");
map2.put("key2", "v3");
map2.put("key4", "v3");
Set set1=map1.keySet();//key1,key2,key3
Set set2=map2.keySet();//key1,key2,key3
//然后通过set1、set2取出每个map的值进行比较就好了
}
全部回答
- 1楼网友:低音帝王
- 2021-04-01 15:36
刚才说错了,不是两层循环,应该是两个循环来比较。
可以参考下面的例子(注意:只比较了key,未比较value):boolean m2_c_m1=true;
for(Map.Entry e1: map1.entrySet){
if(!map2.containsKey(e1.getKey())){
m2_c_m1=false;
break;
}
}
boolean m1_c_m2=true;
for(Map.Entry e2: map2.entrySet){
if(!map1.containsKey(e2.getKey())){
m1_c_m2=false;
break;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯