在此编程场景中,我们的目标是确定两个列表之间共同元素的数量,同时识别相似和不同的元素
要实现这一目标,可以利用 Java 的集合框架,特别是 ArrayList 或 HashSet 类。 ArrayList 中的 keepAll 方法仅保留两个列表共享的项目,提供公共元素的计数(本例中为三个)。
例如:
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); } }
或者,对第二个列表使用 HashSet 可以进行更有效的比较:
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); } }
此版本识别常见值和不同值,处理重复值有效。
以上是如何在 Java 中高效地查找两个列表之间的共同元素和不同元素?的详细内容。更多信息请关注PHP中文网其他相关文章!