Heim > Java > javaLernprogramm > Wie kann ich zwei Listen in Java effizient vergleichen, um gemeinsame und eindeutige Elemente zu finden?

Wie kann ich zwei Listen in Java effizient vergleichen, um gemeinsame und eindeutige Elemente zu finden?

Linda Hamilton
Freigeben: 2024-12-03 01:05:13
Original
596 Leute haben es durchsucht

How Can I Efficiently Compare Two Lists in Java to Find Shared and Unique Elements?

Java Compare Two Lists

Der Vergleich zweier Listen zur Bestimmung der Anzahl gemeinsamer Elemente und zur Identifizierung sowohl ähnlicher als auch unterschiedlicher Elemente kann mit erreicht werden Java-Sammlungen.

Um die gemeinsam genutzten Elemente effizient zu ermitteln, sollten Sie die Verwendung der retainAll-Methode in Betracht ziehen, die die erste Liste so ändert, dass sie nur die in beiden Listen vorhandenen Elemente enthält. Wenn beispielsweise zwei Listen „milan“ und „hafil“ gegeben sind, würde die RetainAll-Operation eine Liste so ändern, dass sie nur „milan“ enthält.

Um sowohl ähnliche als auch unterschiedliche Elemente zu erhalten, können Sie ein Set verwenden. Mit der Methode „removeAll“ können alle Elemente aus dem Set ausgeschlossen werden, die nicht von den Listen gemeinsam genutzt werden. Das resultierende Set enthält die ähnlichen Elemente, während die unterschiedlichen Elemente durch Berechnen der Vereinigung beider Listen und anschließendes Ausschließen der ähnlichen Elemente erhalten werden können.

Hier ist ein Beispielcodeausschnitt, der ein Set zum Vergleich verwendet:

import java.util.Collection;
import java.util.HashSet;
import java.util.Arrays;

class Repeated {
    public static void main(String[] args) {
        Collection<String> listOne = Arrays.asList("milan", "iga", "dingo", "elpha", "hafil", "meat", "neeta.peeta");
        Collection<String> listTwo = Arrays.asList("hafil", "iga", "binga", "mike", "dingo");

        Collection<String> similar = new HashSet<>(listOne);
        Collection<String> different = new HashSet<>();
        different.addAll(listOne);
        different.addAll(listTwo);

        similar.retainAll(listTwo);
        different.removeAll(similar);

        System.out.printf("One:%s%nTwo:%s%nSimilar:%s%nDifferent:%s%n", listOne, listTwo, similar, different);
    }
}
Nach dem Login kopieren

Ausgabe:

One:[milan, iga, dingo, elpha, hafil, meat, neeta.peeta]
Two:[hafil, iga, binga, mike, dingo]
Similar:[dingo, iga, hafil]
Different:[mike, binga, milan, meat, elpha, neeta.peeta]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich zwei Listen in Java effizient vergleichen, um gemeinsame und eindeutige Elemente zu finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage