增强型for循环
特点:
书写简洁。
对集合进行遍历,只能获取集合元素,不能对集合进行操作,类似迭代器的简写形式,但是迭代器可以对元素进行remove操作(ListIterator可以进行增删改查的操作)。
经典的for循环与增强型for循环的不同:
整体来说:
增强型for循环使用起来比较方便,代码也比较简单,如果只是操作集合中元素的而不使用索引的话,建议用此方法。
对于普通for循环,如果需要使用索引进行其它操作的话,建议用这个。
格式上:
经典的for循环:
for(初始化部分;条件判断部分;条件更新){
循环体;
}
增强型for循环的语法:
for(元素类型 变量名:可增强迭代的内容){
访问变量名;
}
可增强迭代的内容: 数组、集合。
int[] arr = {1,2,3,4,5};
for(int item :arr){
//特点: 在循环体中无法访问位置信息。
System.out.println(item);
}
//Arrays工具类中,存在一个方法来进行数组转集合。
List<int[]> ints = Arrays.asList(arr);
//集合的元素类型是: int数组。
for(int[] item:ints){
System.out.println(Arrays.toString(item));
}
注意事项:
-
本质是使用迭代器来进行
-
迭代前需要人为判断null的问题,否则报空指针异常。
所以,增强型for循环一般会配合一个if检查一起使用。
在迭代过程中,不能改变集合的长度。
if(arr!=null) {
for (int item : arr) {
//特点: 在循环体中无法访问位置信息。
System.out.println(item);
}
}
应用:
需要循环
数组结构的数据时,建议使用普通for循环,因为for循环采用下标访问,对于数组结构的数据来说,采用下标访问比较好。
需要循环
链表结构的数据时,一定不要使用普通for循环,这种做法很糟糕,数据量大的时候有可能会导致系统崩溃。
区别:
增强for循环必须有
被遍历的目标(如集合或数组)。
普通for循环遍历数组的时候需要索引。
增强for循环不能获取下标,所以遍历数组时最好使用普通for循环。

增强型for循环在Java中提供了简洁的遍历集合和数组的方式,它不支持直接对集合进行操作,类似于迭代器的简化形式。与经典for循环相比,增强for循环在仅处理元素且不需要索引的情况下更为适用。然而,如果需要索引或在迭代过程中修改集合,应使用经典for循环。使用增强for循环时需要注意,不能在迭代过程中改变集合长度,并需要防范集合为null的情况。
1032

被折叠的 条评论
为什么被折叠?



