For-Each循环是Java5新引入的,遍历的map是null的话,For-Each循环会抛出NullPointerException异常,所以在遍历之前你应该判断是否为空引用。
1. 遍历key(比entrySet迭代快一点点) 这个方法比entrySet迭代具有轻微的性能优势(大约快10%)
for(Integer key: map.keySet()){ System.out.println(key); }
2. 遍历value(比entrySet迭代快一点点) 这个方法比entrySet迭代具有轻微的性能优势(大约快10%)
for(Integer value : map.values()){ System.out.println(value); }
3. 同时遍历key和value 可以用以下几种方式。
3.1 用entrySet() + foreach (用!)
for(Map.Entry entry : map.entrySet()){ System.out.println(entry.getKey()+" " +entry.getValue()); }
3.2 用entrySet() + 迭代器 (使劲用!) 相当于获得键值对集合entry,并遍历
//返回的是entry类型的迭代器 Iterator it = map.entrySet().iterator(); //返回时没