逻辑相同但得到不同的hashmap结果

时间:2017-03-13 19:10:59

标签: java hashmap

区别是什么?唯一的区别是我放置hashmap.get函数的地方。

for(int num : hashmap.keySet()) {
    if(k==0 && hashmap.get(num) > 1) count++;
    else if(hashmap.containsKey(num + k)) count++;
}

for(int num: hashmap.keySet()) {
     if(k == 0) {
          if(hashmap.get(num) > 1) count++;
     } else if(hashmap.containsKey(num + k)) {
         count++;
     }
}

1 个答案:

答案 0 :(得分:2)

不一样!

的条件
if(hashmap.containsKey(num+k)) count++

执行的是不同的。在第一个中,如果k == 0并且hashmap.get(num)< = 0,则执行它。在第二个中它没有被执行。

相关问题