Добавете няколко елемента към Java ArrayList

1. Преглед на ArrayList

В този бърз урок ще покажем как да добавите множество елементи към вече инициализиран ArrayList .

За въведение в използването на ArrayList , моля, вижте тази статия тук.

2. AddAll

На първо място, ще въведем прост начин за добавяне на множество елементи в ArrayList .

Първо ще използваме addAll () , който приема колекция като свой аргумент:

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

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

Поради тази причина всяко изменение, направено в един от тези елементи, ще засегне и двата списъка.

3. Колекции.addAll

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

Един от тях е 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 отваря нашите възможности чрез добавяне на нови инструменти. Този, който ще изследваме в следващите примери, е Stream :

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.