首页 > 其他分享 >HashMap正确遍历方式,千万不要再forforfor啦!!!

HashMap正确遍历方式,千万不要再forforfor啦!!!

时间:2023-03-19 14:55:31浏览次数:35  
标签:map 遍历 HashMap ++ int num forforfor size

for (int i = 0; i < map.size(); i++) {
            if (map.get(i)/n>=0.01) {
                num++;
            }
        }

上述代码报空指针异常。为什么?

循环变量 i 取值的范围是从0到 map.size(),但是这里的 map.size() 指的是 HashMap 中键值对的数量,而不是 HashMap 中键的集合的大小。

因此,使用 map.get(i) 来访问 HashMap 中的元素是错误的,应该改为使用 map.values() 方法来访问 HashMap 中的所有值。所以应该使用如下代码

for (int value : map.values()) {
    if ((double) value / n >= 0.01) {
        num++;
    }
}

这样可以避免空指针异常。

标签:map,遍历,HashMap,++,int,num,forforfor,size
From: https://www.cnblogs.com/crazyfish/p/17233049.html

相关文章