Konvertieren zwischen einem Array und einer Liste in Java

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.