Heim >Java >javaLernprogramm >Wie kann ich gemeinsame Elemente in zwei Java-Listen effizient finden?
Gemeinsame Elemente in zwei Listen finden
Das Identifizieren gemeinsamer Elemente zwischen zwei Listen ist eine häufige Anforderung bei der Programmierung. Hier ist eine Anleitung, wie Sie dies mit der Collection-API von Java erreichen können.
Ansatz 1: Verwendung von Collection#retainAll()
Die Methode Collection#retainAll() kann sein Wird verwendet, um eine vorhandene Liste so zu ändern, dass sie nur Elemente enthält, die auch in einer anderen Liste vorhanden sind. Dieser Ansatz ist effizient und prägnant.
List<Integer> listA = new ArrayList<>(Arrays.asList(1, 2, 3)); List<Integer> listB = new ArrayList<>(Arrays.asList(2, 4, 6)); listA.retainAll(listB); // The resulting listA will now contain only common elements: [2]
Ansatz 2: Erstellen einer neuen Liste mit gemeinsamen Elementen
Um eine Änderung der ursprünglichen Listen zu vermeiden, können Sie eine neue erstellen eine, die nur die gemeinsamen Elemente enthält. Diese Methode ist etwas weniger effizient, bewahrt jedoch die Integrität der ursprünglichen Listen.
List<Integer> listA = new ArrayList<>(Arrays.asList(1, 2, 3)); List<Integer> listB = new ArrayList<>(Arrays.asList(2, 4, 6)); List<Integer> common = new ArrayList<>(listA); common.retainAll(listB); // The resulting common list will contain only common elements: [2]
Ansatz 3: Verwendung von Java Streams
Java Streams bieten einen funktionaleren Ansatz für gemeinsame Elemente finden. Durch die Verwendung der Collection#contains()-Methode können Sie nicht-gemeinsame Elemente mit Stream#filter() herausfiltern.
List<Integer> listA = new ArrayList<>(Arrays.asList(1, 2, 3)); List<Integer> listB = new ArrayList<>(Arrays.asList(2, 4, 6)); List<Integer> common = listA.stream().filter(listB::contains).toList(); // The resulting common list will contain only common elements: [2]
Fazit
Diese Ansätze bieten verschiedene Möglichkeiten, gemeinsame Elemente in zwei Listen zu finden. Die Wahl der Methode hängt von spezifischen Anforderungen ab, wie z. B. Leistungsüberlegungen oder der Notwendigkeit, die Originallisten zu ändern.
Das obige ist der detaillierte Inhalt vonWie kann ich gemeinsame Elemente in zwei Java-Listen effizient finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!