
增强for循环遍历的原理
增强for循环,又称for-each循环,是一种用于便利集合元素的简便方法。其原理如下:
- 为集合创建一个迭代器。
- 迭代器指向集合的第一个元素。
- 对迭代器指向的元素执行给定的代码块。
- 迭代器指向下一个元素,直到遍历完集合的所有元素。
冒号右边允许哪些类型的实体
在增强for循环中,冒号右边只能放置可迭代对象。可迭代对象必须满足以下条件:
- 是一个数组
- 实现 iterable 接口
iterable 接口是一个标记接口,它表示该类可以被迭代。只要实现了 collection 接口的类都隐式地实现了 iterable 接口。因此,所有 collection 集合都可以使用增强for循环进行遍历。
示例
以下示例展示了如何使用增强for循环遍历 hashmap:
public void m1() {
HashMap hashMap = new HashMap<>();
hashMap.put("a", "jack");
hashMap.put("b", "alice");
for (Map.Entry entry : hashMap.entrySet()) {
System.out.println(entry.getKey() + "--" + entry.getValue());
}
} 在该示例中,entryset() 方法返回一个 set 集合,其中包含 map.entry 对象。map.entry 对象实现了 iterable 接口,因此可以将其用于增强for循环。










