Java中foreach怎么看循环了几遍了

在Java中,我们经常会使用foreach循环来遍历集合中的元素。但有时候我们可能需要知道当前循环了几遍,这篇文章将介绍如何在foreach循环中获取循环次数,并解决一个实际问题。

实际问题

假设我们有一个List存储了10个整数,我们需要遍历这个List并输出当前循环的次数以及对应的元素值。

解决方案

我们可以使用Java 8中引入的IntStream来模拟foreach循环,并在循环体中输出当前循环次数。下面是示例代码:

import java.util.Arrays;
import java.util.List;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        IntStream.range(0, numbers.size())
                .forEach(i -> {
                    System.out.println("循环次数: " + i + ", 元素值: " + numbers.get(i));
                });
    }
}

在这段代码中,我们使用IntStream的range方法来生成一个从0到List的大小(不包含List的大小)的整数流,然后使用forEach方法来遍历这个流。在forEach的lambda表达式中,我们输出当前循环的次数和对应的元素值。

状态图

下面是一个状态图,展示了循环的过程:

stateDiagram
    [*] --> 循环开始

    循环开始 --> 循环结束 : 循环次数 < List大小
    循环结束 --> [*] : 循环次数 >= List大小

结论

通过上面的示例和解释,我们可以在Java中使用IntStream模拟foreach循环,并获取当前循环的次数。这种方法可以帮助我们解决一些需要知道循环次数的问题。希望本文能帮助到你!