Усовершенствованный цикл for может только извлекать коллекцию, но не может ее обновлять.
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
for (Integer integer:list) {
integer = 5;
System.out.println(integer+" ");
}
System.out.println(list);
Целое число изменяется в цикле, а список после цикла не меняется,
причина в том, что целое является ссылкой на объект в списке, целое = 5, оно просто указывает ссылку целого на 5, а не внести любые изменения в список.
Если есть необходимость сделать обновление, можно воспользоваться методом замены массива следующим образом
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
for (int i = 0; i < list.size(); i++) {
list.set(i,5) ;
}
System.out.println(list);