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.