Konvertierung zwischen einem Array und einer Liste in Java

Konvertieren zwischen einem Array und einer Liste in Java

1. Überblick

In diesem kurzen Artikel wird gezeigt, wieconvert between an Array and a List mithilfe von Java-Kernbibliotheken, Guava- oder Apache Commons-Sammlungen verwendet werden.

Dieser Artikel ist Teil vonthe “Java – Back to Basic” series hier am Beispiel.

2. Konvertieren SieList in Array

2.1. Verwenden von Plain Java

Beginnen wir mit der Konvertierung vonList in Arrayusing plain java:

@Test
public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() {
    List sourceList = Arrays.asList(0, 1, 2, 3, 4, 5);
    Integer[] targetArray = sourceList.toArray(new Integer[sourceList.size()]);
}

2.2. Mit Guave

Verwenden wir jetztthe 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. Konvertieren Sie das Array inList

3.1. Verwenden von Plain Java

Beginnen wir mit der einfachen Java-Lösung zum Konvertieren des Arrays inList:

@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 einen StandardArrayList möchten, können Sie einfach einen wie folgt instanziieren:

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

3.2. Mit Guave

Verwenden wir jetztthe 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 APIApache 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 Codefragmentecan be found over on GitHub - dies ist ein Maven-basiertes Projekt, daher sollte es einfach zu importieren und auszuführen sein, wie es ist.