Converteren tussen een array en een lijst in Java

1. Overzicht

Dit korte artikel laat zien hoe converteren tussen een array en een lijst met behulp van Java-kernbibliotheken, Guava- of Apache Commons-collecties.

Dit artikel maakt deel uit van de serie "Java - Back to Basic" hier op Baeldung.

2. Converteren Lijst naar Array

2.1. Gebruik gewoon Java

Laten we beginnen met de conversie van Lijst naar Array met behulp van gewoon Java:

@Test openbare ongeldig gegevenUsingCoreJava_whenListConvertedToArray_thenCorrect () {List sourceList = Arrays.asList (0, 1, 2, 3, 4, 5); Geheel getal [] targetArray = sourceList.toArray (nieuw geheel getal [0]); }

Let daar op toArray (nieuwe T [0]) is de beste manier om de methode te gebruiken boven de toArray (nieuwe T [grootte]). Zoals Aleksey Shipilëv in zijn blogpost bewijst, lijkt het sneller, veiliger en schoner.

2.2. Guava gebruiken

Laten we nu gebruiken de Guava API voor dezelfde conversie:

@Test openbare ongeldige gegevenUsingGuava_whenListConvertedToArray_thenCorrect () {List sourceList = Lists.newArrayList (0, 1, 2, 3, 4, 5); int [] targetArray = Ints.toArray (sourceList); }

3. Converteer Array naar Lijst

3.1. Gebruik gewoon Java

Laten we beginnen met de gewone Java-oplossing voor het converteren van de array naar een Lijst:

@Test openbare ongeldige gegevenUsingCoreJava_whenArrayConvertedToList_thenCorrect () {Geheel getal [] sourceArray = {0, 1, 2, 3, 4, 5}; Lijst targetList = Arrays.asList (sourceArray); }

Merk op dat dit een lijst met een vast formaat is die nog steeds wordt ondersteund door de array. Als je een standaard wilt ArrayList u kunt er eenvoudig een instantiëren als volgt:

List targetList = nieuwe ArrayList (Arrays.asList (sourceArray));

3.2. Guava gebruiken

Laten we nu gebruiken de Guava API voor dezelfde conversie:

@Test openbare ongeldig gegevenUsingGuava_whenArrayConvertedToList_thenCorrect () {Geheel getal [] sourceArray = {0, 1, 2, 3, 4, 5}; Lijst targetList = Lists.newArrayList (sourceArray); } 

3.3. Commons-verzamelingen gebruiken

En tot slot, laten we de Apache Commons-collecties gebruiken - CollectionUtils.addAll API om de elementen van de array in een lege lijst in te vullen:

@Test openbare leegte gegevenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect () {Geheel getal [] sourceArray = {0, 1, 2, 3, 4, 5}; List targetList = nieuwe ArrayList (6); CollectionUtils.addAll (targetList, sourceArray); }

4. Conclusie

De implementatie van al deze voorbeelden en codefragmenten is te vinden op GitHub - dit is een op Maven gebaseerd project, dus het zou gemakkelijk moeten kunnen worden geïmporteerd en uitgevoerd zoals het is.


$config[zx-auto] not found$config[zx-overlay] not found