Безумная альтернатива:
Iterator<Checker> currentIt = checkers.subList(0, checkers.size() - 1).iterator();
Iterator<Checker> nextIt = checkers.subList(1, checkers.size()).iterator();
while (currentIt.hasNext()) {
currentIt.next().setNextChecker(nextIt.next());
}
Полагаю, вы могли бы написать это с помощью одного итератора:
Iterator<Checker> it = checkers.iterator();
Checker previous = it.next();
while (it.hasNext()) {
previous.setNextChecker(previous = it.next());
}
Но если предположить, что ваш список небольшой, а RandomAccess
, я бы просто придерживался цикла на основе индекса:
for (int i = 0; i < checker.size()-1; ++i) {
checkers.get(i).setNextChecker(checkers.get(i+1));
}
Потоки здесь не очень полезны.