增强for循环:
作用: 简化迭代器的书写格式。(注意:增强for循环的底层还是使用了迭代器遍历。)适用范围: 如果是‘实现了Iterable接口的对象’或者是‘数组对象’都可以使用增强for循环。
for(数据类型 变量名 : 遍历目标)(数据类型 变量名:声明一个变量用来接收遍历目标遍历后的元素)
注意:
1. 增强for循环底层也是使用了迭代器获取的,只不过获取迭代器由jvm完成,不需要我们获取迭代器而已。2. 迭代器遍历元素与增强for循环遍历元素的区别:
使用迭代器遍历时:可以删除集合的元素。
使用增强for循环遍历时:不能调用迭代器的remove方法删除元素。(不准使用集合对象对集合的元素个数进行修改)
3、Map集合没有实现Iterable接口,所以map集合不能直接使用增强for循环,如果需要使用增强for循环需要借助于Collection的集合。
例:
public class Demo2 {
public static void main(String[] args) {
HashSet<String> set = new HashSet<String>();
//添加元素
set.add("k1");
set.add("k2");
set.add("k3");
/*使用迭代器遍历Set的集合.
Iterator<String> it = set.iterator();
while(it.hasNext()){
String temp = it.next();
System.out.println("元素:"+ temp);
it.remove();
}
//使用增强for循环解决
for(String item : set){
System.out.println("元素:"+ item);
}
int[] arr = {12,5,6,1};
普通for循环的遍历方式
for(int i = 0 ; i<arr.length ; i++){
System.out.println("元素:"+ arr[i]);
}
//使用增强for循环实现
for(int item :arr){
System.out.println("元素:"+ item);
}