Heim >Java >javaLernprogramm >Wie kann ich zwei Java-Listen verketten, ohne die Originale zu ändern und nur das JDK zu verwenden?
Verknüpfen von Listen in Java ohne Änderung oder externe Bibliotheken
Beim Zusammenführen zweier Listen ist es oft wünschenswert, Änderungen an den Originalen zu vermeiden und nur die zu verwenden JDK. Hier ist eine umfassende Analyse verschiedener Ansätze:
Ursprüngliche Methode:
Wie in der Frage dargestellt: Erstellen einer neuen Liste, Kopieren von Elementen aus beiden Eingabelisten und Hinzufügen dieser Zur neuen Liste gibt es eine einfache Methode:
List<String> newList = new ArrayList<>(); newList.addAll(listOne); newList.addAll(listTwo);
JDK 1.3 Version:
Für Java 1.3-Kompatibilität kann man die Iterator.addAll-Methode verwenden:
List<String> newList = new ArrayList<>(); newList.addAll(listOne); newList.addAll(listTwo.iterator());
Java 8 Stream Concatenation:
In Java 8 und höher bietet die Stream-Verkettung eine präzise und effiziente Möglichkeit Alternative:
List<String> newList = Stream.concat(listOne.stream(), listTwo.stream()) .collect(Collectors.toList());
Java 16 toList-Methode:
Java 16 führt die toList-Methode ein, die die Stream-Sammlung vereinfacht:
List<String> newList = Stream.concat(listOne.stream(), listTwo.stream()).toList();
One-Line-Lösung:
Die Kombination der vorherigen Ansätze ermöglicht für einen Einzeiler:
List<String> newList = new ArrayList<>().addAll(listOne).addAll(listTwo);
Hinweis:
Alle diese Methoden erfüllen die angegebenen Bedingungen, die Originallisten nicht zu ändern, nur das JDK zu verwenden und nicht auf externe Bibliotheken angewiesen. Die bereitgestellten Lösungen reichen von klassischen Techniken bis hin zu modernen Java-Funktionen und bieten Flexibilität basierend auf Plattformkompatibilität und Codierungspräferenzen.
Das obige ist der detaillierte Inhalt vonWie kann ich zwei Java-Listen verketten, ohne die Originale zu ändern und nur das JDK zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!