In diesem Programmierszenario wollen wir die Anzahl gemeinsamer Elemente zwischen zwei Listen bestimmen und sowohl ähnliche als auch unterschiedliche Elemente identifizieren Werte.
Um dies zu erreichen, kann man das Sammlungsframework von Java und insbesondere die Klassen ArrayList oder HashSet verwenden. Die retainAll-Methode in ArrayList behält nur die Elemente bei, die von beiden Listen gemeinsam genutzt werden, und liefert eine Anzahl der gemeinsamen Elemente (in diesem Fall drei).
Zum Beispiel:
import java.util.ArrayList; import java.util.Arrays; public class CompareLists { public static void main(String[] args) { ArrayList<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "iga", "elpha", "hafil", "meat", "iga", "milan", "elpha", "meat", "iga")); ArrayList<String> list2 = new ArrayList<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo")); list1.retainAll(list2); System.out.println(list1); } }
Alternativ: Die Verwendung von HashSet für die zweite Liste ermöglicht einen effizienteren Vergleich:
import java.util.HashSet; import java.util.Arrays; public class CompareLists { public static void main(String[] args) { ArrayList<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "iga", "elpha", "hafil", "meat", "iga", "milan", "elpha", "meat", "iga")); HashSet<String> list2 = new HashSet<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo")); Set<String> common = new HashSet<>(list1); common.retainAll(list2); Set<String> unique = new HashSet<>(list1); unique.addAll(list2); unique.removeAll(common); System.out.println("Common: " + common); System.out.println("Distinct: " + unique); } }
Diese Version identifiziert sowohl gemeinsame als auch unterschiedliche Werte und verarbeitet wiederholte Werte effektiv.
Das obige ist der detaillierte Inhalt vonWie kann ich in Java effizient gemeinsame und unterschiedliche Elemente zwischen zwei Listen finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!