У меня есть List
из Integers
, который содержит 1 и 2. Итерируя через l oop, у меня было бы 2 if
блоков, и в конце я бы удалил первый Integer
текущего List
.
Я попытался использовать Iterator и сделать remove()
, но он также удаляет все вхождения Integer
, которые я мог бы сохранить, даже если бы я хотел удалить только первый.
Вот как будет выглядеть мой код:
Collections.reverse(currentPlayer);
for (Iterator<Integer> iterator = currentPlayer.iterator(); iterator.hasNext();) {
int currentWinner = iterator.next();
if (currentWinner==1) {
switch ((String) firstPlayerScore.getText()) {
case "40":
firstPlayerScore.setText("30");
break;
case "A":
firstPlayerScore.setText("40");
break;
case "0":
firstPlayerScore.setText("0");
break;
default:
int currentScore = Integer.parseInt((String) firstPlayerScore.getText());
firstPlayerScore.setText(String.valueOf(currentScore - 15));
break;
}
} else if (currentWinner==2) {
switch ((String) secondPlayerScore.getText()) {
case "40":
secondPlayerScore.setText("30");
break;
case "A":
secondPlayerScore.setText("40");
break;
case "0":
secondPlayerScore.setText("0");
break;
default:
int currentScore = Integer.parseInt((String) secondPlayerScore.getText());
secondPlayerScore.setText(String.valueOf(currentScore - 15));
break;
}
break;
}
currentPlayer.remove(0);
Проблема в том, что я, очевидно, сталкиваюсь с некоторыми проблемами java.util.ConcurrentModificationException
, так как я изменяю Список.
Любой Советы, как это сделать?
Заранее спасибо, ребята - будьте в безопасности.
Тарифы