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.