Ваш код очень похож на это:
for (int i = 0; i<a1.size(); i++){
int integer = a1.get(i);
integer = integer + 10;
}
Просто потому, что вы обновили значение локальной переменной integer
(который содержит текущий элемент из списка), это не означает, что вы обновленное значение в самом списке.
Вы также можете думать о нем, как
int a = 10;
int b = a;
b = 20;
только потому, что мы изменили значение в b
это не означает, что мы изменили также значение из a
.
Если вы ищете метод, который обновит все значения из списка в соответствии с некоторой функцией, используйте метод replaceAll
, добавленный как pointed by erickson.
Можете ли вы определить, что вы ожидаете и что получаете? – Philibobby
Это та же проблема, что и в случае 'for (int value: list) {value = value + 10;}'. – Pshemo
@Philibobby см. Ответ erickson –