Рубрики
Без рубрики

Добавление нескольких элементов в Java ArrayList

Изучите различные способы добавления нескольких элементов в уже инициализированный ArrayList.

Автор оригинала: baeldung.

1. Обзор ArrayList

В этом быстром учебнике мы покажем, как добавить несколько элементов в уже инициализированный ArrayList .

Для введения в использование ArrayList , пожалуйста, обратитесь к этой статье здесь .

2. AddAll

Прежде всего, мы собираемся ввести простой способ добавить несколько элементов в ArrayList .

Во-первых, мы будем использовать addAll () , который принимает коллекцию в качестве аргумента:

List anotherList = Arrays.asList(5, 12, 9, 3, 15, 88);
list.addAll(anotherList);

Важно иметь в виду, что элементы, добавленные в первом списке, будут ссылаться на те же объекты, что и элементы в anotherList .

По этой причине каждое изменение, внесенная в один из этих элементов, повлияет на оба списка.

3. Collections.addAll

Коллекции класс состоит исключительно из статических методов, которые работают на коллекциях или возвращают их.

Один из них – addAll , который нуждается в списке назначения и элементы, которые будут добавлены могут быть указаны индивидуально или в качестве массива.

Вот пример того, как использовать его с отдельными элементами:

List list = new ArrayList<>();
Collections.addAll(list, 1, 2, 3, 4, 5);

И еще один пример операции с двумя массивами:

List list = new ArrayList<>();
Integer[] otherList = new Integer[] {1, 2, 3, 4, 5};
Collections.addAll(list, otherList);

Подобно тому, как объясняется в вышеупомянутом разделе, содержание обоих списков здесь будет относиться к одним и тем же объектам.

4. Использование Java 8

Эта версия Java открывает наши возможности, добавляя новые инструменты. Тот, который мы будем изучать в следующих примерах, Поток :

List source = ...;
List target = ...;

source.stream()
  .forEachOrdered(target::add);

Основными преимуществами этого способа являются возможность использования пропусков и фильтров. В следующем примере мы пропустим первый элемент:

source.stream()
  .skip(1)
  .forEachOrdered(target::add);

Можно фильтровать элементы по нашим потребностям. Например, значение Integer:

source.stream()
  .filter(i -> i > 10)
  .forEachOrdered(target::add);

Наконец, есть сценарии, в которых мы хотим работать в условиях безопасности. Для них мы можем использовать Необязательный :

Optional.ofNullable(source).ifPresent(target::addAll)

В приведенный выше пример мы добавляем элементы из источник целевые методом addAll .

5. Заключение

В этой статье мы изучили различные способы добавления нескольких элементов в уже инициализированный ArrayList .

Как всегда, образцы кода можно найти более на GitHub .