Вы сейчас просматриваете Можно ли заполнить ArrayList циклом for each?

Можно ли заполнить ArrayList циклом for each?

Нет, заполнить ArrayList с помощью цикла for-each нельзя, так как этот цикл предназначен только для чтения элементов в коллекции, но не для добавления или изменения её структуры.

for-each в Java используется для перебора уже существующих элементов и не поддерживает добавление новых элементов в коллекцию. Если попытаться изменить коллекцию (например, добавить в неё элементы) во время перебора с помощью for-each, возникнет ошибка ConcurrentModificationException.

Как можно заполнить ArrayList?

Для добавления элементов в ArrayList можно использовать обычный цикл for или методы addAll и add:

1. Заполнение с помощью обычного цикла for

List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < 10; i++) {
    numbers.add(i);  // Добавляем элементы в ArrayList
}

2. Использование Collections.addAll

Если нужно добавить сразу несколько элементов, удобно использовать метод Collections.addAll:

List<String> fruits = new ArrayList<>();
Collections.addAll(fruits, "Apple", "Banana", "Cherry");

3. Добавление с использованием Arrays.asList

Для статической инициализации можно воспользоваться Arrays.asList, который создаёт список с заданными элементами:

List<String> colors = new ArrayList<>(Arrays.asList("Red", "Green", "Blue"));

Таким образом, цикл for-each подходит для перебора элементов, но для заполнения ArrayList лучше использовать другие подходы.