如何在循环中增加Java 8 lambda表达式中的"数字"?

Tay*_*mer 6 java

我有以下问题.我有一个从1开始的整数位置,并且每次在xml中的特定位置找到来自txt的特定人时递增.如果我使用foreach的经典迭代for (PersonMatchInfo pmi : personMatchInfo)它可以工作,但我的高级要求我使用Java 8 foreach,这种类型的迭代只适用于最终变量.如何在新的Java 8循环中增加整数?谢谢.

int position = 1;
personMatchInfo.forEach(pmi ->{

                    if (!stopwatch1.isStarted()) {
                        stopwatch1.start();
                    } else if (stopwatch1.isStarted()) {

                    }

                    if (pmi.getPersonName().equals(e.getValue())) {

                        positionMap.put(position, positionMap.get(position) + 1);
                        break;

                    } else {

                        position++;
                    }
                });
Run Code Online (Sandbox Code Playgroud)

mle*_*ecz 13

你可以使用AtomicIntegerincrementAndGet方法.

其他解决方案是 int[] position = new int[]{1};

incrementing position[0]++;