Добавить несколько элементов в ArrayList в одну строку

Класс Java ArrayList является частью фреймворка Collection и представляет собой реализацию структуры данных массива с изменяемым размером. Он автоматически увеличивается и уменьшается при добавлении или удалении элементов во время выполнения, когда это необходимо,

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

1. Использование List.of() или Arrays.asList() для инициализации нового ArrayList

Инициализировать ArrayList с несколькими элементами в одной строке можно, создав Список элементов с помощью методов Arrays.asList() или List.of(). Оба метода создают неизменяемый Список, содержащий элементы, переданные в метод-фабрику.

В данном примере мы добавляем две строки, «a» и «b», в ArrayList.

ArrayList<String> arrayList = new ArrayList<>(Arrays.asList("a", "b"));//orArrayList<String> arrayList = new ArrayList<>(List.of("a", "b"));

2. Использование Collections.addAll() для добавления элементов из существующего ArrayList

Чтобы добавить все элементы из другой коллекции в этот ArrayList, мы можем использовать метод Collections.addAll(), который добавляет все указанные элементы в заданный список. Обратите внимание, что элементы, которые нужно добавить, могут быть указаны по отдельности или в виде массива.

ArrayList<String> arrayList = new ArrayList<>(Arrays.asList("a", "b"));Collections.addAll(arrayList, "c", "d");System.out.println(arrayList); //[a, b, c, d]

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

List<String> namesList = Arrays.asList( "a", "b", "c");ArrayList<String> instance = new ArrayList<>(namesList);

3. Использование Stream API для добавления только выбранных элементов

Этот метод использует Java Stream API. Мы создаем поток элементов из первого списка, добавляем filter(), чтобы получить только нужные элементы, а затем добавляем отфильтрованные элементы в другой список.

//List 1List<String> namesList = Arrays.asList( "a", "b", "c");//List 2ArrayList<String> otherList = new ArrayList<>(Arrays.asList( "d", "e"));//Do not add 'a' to the new listnamesList.stream().filter(name -> !"a".equals(name)).forEachOrdered(otherList::add);System.out.println(otherList); //[d, e, b, c]

В приведенных выше примерах мы научились добавлять несколько элементов в ArrayList. Мы добавили все элементы в ArrayList, а затем увидели пример добавления только выбранных элементов в ArrayList из API потока Java 8.

Исходный код Скачать

Прокрутить вверх