Java集合框架分为两个接口:Collection接口和Map接口。
1.Collection接口中的foreach循环
首先,foreach循环是在Iterable接口中实现的,而Collection接口继承了Iterable接口,所以所有实现了Collection接口的集合对象都支持foreach循环。
在Java SE 1.5之前,遍历集合对象的元素的代码如下:
Collection<String> c = ...;
Iterator<String> iter = c.iterator();
while(iter.hasNext()){
String element = iter.next();
do something with element
}
自从JavaSE 1.5起,这个循环可以采用更加优雅的方式书写。用“foreach”循环可以更加简练的表示同样的循环操作:
for(String element : c) {
do something with element
}
编译器简单的将“foreach”循环翻译为带有迭代器的循环。
2.Map
接口中的foreach循环
>仅获取键
Set<String> keys = map.KeySet();
for(String key : keys){
do something with key
}
>同时获取键和值
for(Map.Entry<String, Employee> entry : staff.entrySet()){
String key = entry.getKey();
Emplyee value = entry.getValue();
do something with key,value
}