1. Übersicht
In diesem kurzen Artikel wird gezeigt, wie zwischen einem Array und einer Liste mithilfe von Java-Kernbibliotheken, Guava- oder Apache Commons-Sammlungen konvertiert wird .
Dieser Artikel ist Teil der Reihe „Java - Back to Basic“ hier auf Baeldung.
2. Liste in Array konvertieren
2.1. Verwenden von Plain Java
Beginnen wir mit der Konvertierung von List zu Array mit einfachem Java :
@Test public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() { List sourceList = Arrays.asList(0, 1, 2, 3, 4, 5); Integer[] targetArray = sourceList.toArray(new Integer[0]); }
Beachten Sie, dass toArray (neues T [0]) die bevorzugte Methode ist, um die Methode gegenüber toArray (neues T [Größe]) zu verwenden . Wie Aleksey Shipilëv in seinem Blogbeitrag beweist, scheint es schneller, sicherer und sauberer zu sein.
2.2. Guave benutzen
Verwenden wir jetzt die Guava-API für dieselbe Konvertierung:
@Test public void givenUsingGuava_whenListConvertedToArray_thenCorrect() { List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); int[] targetArray = Ints.toArray(sourceList); }
3. Array in Liste konvertieren
3.1. Verwenden von Plain Java
Beginnen wir mit der einfachen Java-Lösung zum Konvertieren des Arrays in eine Liste :
@Test public void givenUsingCoreJava_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; List targetList = Arrays.asList(sourceArray); }
Beachten Sie, dass dies eine Liste mit fester Größe ist, die weiterhin vom Array unterstützt wird. Wenn Sie eine Standard- ArrayList möchten , können Sie einfach eine wie folgt instanziieren:
List targetList = new ArrayList(Arrays.asList(sourceArray));
3.2. Guave benutzen
Verwenden wir jetzt die Guava-API für dieselbe Konvertierung:
@Test public void givenUsingGuava_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; List targetList = Lists.newArrayList(sourceArray); }
3.3. Commons-Sammlungen verwenden
Und schließlich verwenden wir die API Apache Commons Collections - CollectionUtils.addAll , um die Elemente des Arrays in eine leere Liste einzufügen:
@Test public void givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; List targetList = new ArrayList(6); CollectionUtils.addAll(targetList, sourceArray); }
4. Fazit
Die Implementierung all dieser Beispiele und Codefragmente finden Sie auf GitHub - dies ist ein Maven-basiertes Projekt, daher sollte es einfach zu importieren und auszuführen sein, wie es ist.