之前面试被问到遍历map集合有几种方式:现做常见的4种遍历方式:
@Test
public void testMap() {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("01", 11);
map.put("02", 22);
map.put("03", 33);
//2.获取迭代器,通过迭代器遍历map集合,过程中可以移除集合元素。
Iterator<Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, Integer> next = iterator.next();
if (next.getValue() == 22) {//迭代器可以判断移除内容
iterator.remove();
}
System.out.println(next.getKey() + " : " + next.getValue());
}
//1.entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。
for (Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
//3.遍历map中的键(效率低)
for (String m : map.keySet()) {
System.out.println(m + " : " + map.get(m));}
//4.遍历map中的值
for (Integer m : map.values()) {
System.out.println(m);}
}