Нет, заполнить 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
лучше использовать другие подходы.