Просто добавьте цикл while поверх цикла while:
while(linkedlist.size() > 1){
iterator = linkedlist.iterator();
while (iterator.hasNext()) {
iterator.next();
// random number Goose landed method
if (getRandomBoolean()) {
iterator.remove();
}
if(linkedlist.size() == 1) break;
}
}
Теперь обратите внимание, что я добавил оператор break
внутри вашего исходного цикла. Это делается для того, чтобы мы всегда останавливались, когда в вашем списке 1 игрок, а не когда он пуст.
Чтобы объяснить это, представьте, что у нас нет этого оператора break
, и вы запускаете внутренний цикл while с двумя игроками, player1
и player2
.
getRandomBoolean()
возвращает true, player1
удалено
getRandomBoolean()
снова возвращает true, player2
удаляется.
Обе while
петли останавливаются, но ваш список теперь пуст.