首先普通for循环是能获取元素下标,并能通过下标遍历元素,而增强for却不可以获取下标,因此在遍历时的效率不同。
先上一段代码:
public static void main(String[] args) {
int[] a = new int[] {1,2,3,4,5}; //定义一个静态的数组
//增强for循环只能遍历所有元素
for (int i:a)
System.out.print(i+" ");
System.out.println();//换行用
//普通for循环则可以获取指定下标,这里以获取第2-4个元素为例子
for (int i = 1; i < 4; i++) {
System.out.print(a[i]+" ");
}
}
运行结果为:
1 2 3 4 5
2 3 4
从中可以看出,增强for只能遍历所有的元素,而普通for可以获取指定下标的元素
所以如果只要遍历指定元素的话就用普通for循环,遍历所有元素的话,用增强for循环效率比较高
总结:
增强for循环必须有被遍历的目标(如集合或数组)。
普通for循环遍历数组的时候需要索引。
增强for循环不能获取下标,所以遍历数组时最好使用普通for循环。
增强for循环书写简洁,对集合进行遍历,只能获取集合元素,不能对集合进行操作,类似迭代器的简写形式,但是迭代器可以对元素进行remove操作(ListIterator可以进行增删改查的操作)。
评论区