java增强for循环获取下标
时间: 2023-05-04 20:02:16 浏览: 988
Java中的增强for循环是一种简化数组或集合遍历的语法结构,不支持直接获取下标。如果需要在遍历中获取下标,需要用传统的for循环的形式来实现。
例如,假设要遍历一个整型数组arr并输出每个元素及其下标,可以使用如下传统的for循环:
```
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
System.out.println("arr[" + i + "]=" + arr[i]);
}
```
如果使用增强for循环,则无法直接获取下标:
```
int[] arr = {1, 2, 3, 4, 5};
for (int num : arr) {
//无法直接获取下标
}
```
在增强for循环中,每个元素都被赋值给了循环中声明的变量num,而不是使用下标来访问每个元素。
如果需要在增强for循环中获取下标,可以使用Java8中引入的IntStream.range()方法来生成一个指定范围的整数流,并在流中遍历获取下标,示例如下:
```
int[] arr = {1, 2, 3, 4, 5};
IntStream.range(0, arr.length).forEach(i -> {
int num = arr[i];
System.out.println("arr[" + i + "]=" + num);
});
```
其中,IntStream.range()方法生成的整数流从0到arr.length-1,也就是元素的下标范围。在流中遍历时,通过lambda表达式中传递的下标变量i来访问数组中对应下标的元素。