Heim >Java >javaLernprogramm >Wie verkette ich Listen in Java, ohne die Originale zu ändern?

Wie verkette ich Listen in Java, ohne die Originale zu ändern?

Susan Sarandon
Susan SarandonOriginal
2024-12-01 05:39:14975Durchsuche

How to Concatenate Lists in Java Without Modifying the Originals?

Listen in Java zusammenführen, ohne Originale zu ändern

In Java ist das Zusammenführen mehrerer Listen zu einer neuen eine häufige Aufgabe. Der in der Frage erwähnte Ansatz erfordert jedoch eine Änderung der ursprünglichen Listen, was möglicherweise nicht immer wünschenswert ist.

Java 8 Stream Concatenation

Java 8 führte die Stream-API ein Dies bietet eine prägnantere und unveränderliche Möglichkeit, Sammlungen zu bearbeiten. Für die Listenverkettung können Sie die Methode concat() verwenden, um die Streams zweier Listen zusammenzuführen:

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream())
                             .collect(Collectors.toList());

Diese Methode erstellt eine neue Liste, ohne die Originale zu ändern, da sie mit Streams arbeitet, die im Wesentlichen Wrapper sind die Quellsammlungen.

Java 16 toList() Verbesserung

Von Java Ab 16 ist ein einfacherer Ansatz mit der aktualisierten toList()-Methode verfügbar:

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream()).toList();

Dies vereinfacht den Code, indem die Notwendigkeit einer Collect()-Operation entfällt, wodurch der Listenverkettungsprozess weiter optimiert wird.

Bonus: JDK 1.3-Version

Für JDK 1.3, Sie können die folgende Technik verwenden:

List<String> newList = new ArrayList<String>(listOne.size() + listTwo.size());
newList.addAll(listOne);
newList.addAll(listTwo);

Diese Methode erstellt eine neue ArrayList mit einer Größe, die beide Originallisten aufnimmt, und fügt dann die Elemente aus jeder Liste hinzu. Obwohl es nicht so prägnant ist wie die Stream-basierten Ansätze, liefert es dennoch ein unveränderliches Ergebnis.

Das obige ist der detaillierte Inhalt vonWie verkette ich Listen in Java, ohne die Originale zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn