I have the following problem. I have an integer position which starts at 1 and increments every time a specific person from a txt is found at a specific position in an xml. If I use the classic iteration with the foreach for (PersonMatchInfo pmi : personMatchInfo)
it works, but my senior asked me to do with the Java 8 foreach
and this type of iteration works only with final variables. How can I increment the integer in the new Java 8 loop? Thank you.
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++; } });
Advertisement
Answer
You can use AtomicInteger
, and incrementAndGet
method on it.
Other solution would be int[] position = new int[]{1};
and incrementing position[0]++;