HashMap正确遍历方式,千万不要再forforfor啦!!!
Posted crazyfish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashMap正确遍历方式,千万不要再forforfor啦!!!相关的知识,希望对你有一定的参考价值。
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++;
这样可以避免空指针异常。
以上是关于HashMap正确遍历方式,千万不要再forforfor啦!!!的主要内容,如果未能解决你的问题,请参考以下文章