Voeg meerdere items toe aan een Java ArrayList

1. Overzicht van ArrayList

In deze korte zelfstudie laten we zien hoe u meerdere items kunt toevoegen aan een reeds geïnitialiseerd ArrayList.

Voor een inleiding in het gebruik van de ArrayList, verwijzen wij u naar dit artikel hier.

2. Voeg alles toe

Allereerst gaan we een eenvoudige manier introduceren om meerdere items aan een ArrayList.

Ten eerste gebruiken we Voeg alles toe(), die een verzameling als argument heeft:

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

Het is belangrijk om in gedachten te houden dat de elementen die in de eerste lijst worden toegevoegd, verwijzen naar dezelfde objecten als de elementen in AnotherList.

Om die reden heeft elke wijziging die in een van deze elementen wordt aangebracht, gevolgen voor beide lijsten.

3. Collections.addAll

De Collecties class bestaat uitsluitend uit statische methoden die op collecties werken of deze retourneren.

Een van hen is Voeg alles toe, waarvoor een bestemmingslijst nodig is en de items die moeten worden toegevoegd, kunnen afzonderlijk of als een array worden gespecificeerd.

Hier is een voorbeeld van hoe u het met afzonderlijke elementen kunt gebruiken:

Lijstlijst = nieuwe ArrayList (); Collections.addAll (lijst, 1, 2, 3, 4, 5);

En nog een om de bewerking te illustreren met twee arrays:

Lijstlijst = nieuwe ArrayList (); Geheel getal [] otherList = nieuw geheel getal [] {1, 2, 3, 4, 5}; Collections.addAll (lijst, otherList);

Op dezelfde manier als in de bovenstaande sectie is uitgelegd, verwijst de inhoud van beide lijsten hier naar dezelfde objecten.

4. Java 8 gebruiken

Deze versie van Java opent onze mogelijkheden door nieuwe tools toe te voegen. Degene die we in de volgende voorbeelden zullen onderzoeken, is Stroom:

Lijst bron = ...; Lijst doel = ...; source.stream () .forEachOrdered (target :: add);

De belangrijkste voordelen van deze manier zijn de mogelijkheid om skip en filters te gebruiken. In het volgende voorbeeld slaan we het eerste element over:

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

Het is mogelijk om de elementen te filteren op onze benodigdheden. Bijvoorbeeld, de Integer-waarde:

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

Ten slotte zijn er scenario's waarin we nulveilig willen werken. Voor die kunnen we gebruiken Optioneel:

Optioneel.ofNullable (bron) .ifPresent (doel :: addAll)

In het bovenstaande voorbeeld voegen we elementen toe uit bron naar doelwit door de methode Voeg alles toe.

5. Conclusie

In dit artikel hebben we verschillende manieren onderzocht om meerdere items toe te voegen aan een reeds geïnitialiseerd ArrayList.

Zoals altijd zijn codevoorbeelden te vinden op GitHub.