在 Java 中,可以通过各种方法和数据结构来实现比较两个列表。本文探讨了比较列表的几种方法,重点是查找相似和不同的元素。
ArrayList 和 keepAll 方法
使用 ArrayList 和 keepAll 方法可以让您仅保留两个列表中包含的元素。
import java.util.Collection; import java.util.ArrayList; public class ListComparison { public static void main(String[] args) { Collection<String> list1 = new ArrayList<>(Arrays.asList("milan", "dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta")); Collection<String> list2 = new ArrayList<>(Arrays.asList("hafil", "iga", "binga", "mike", "dingo")); list1.retainAll(list2); System.out.println("Common elements: " + list1); } }
HashSet 和 removeAll方法
如果您不仅需要查找共同元素,还需要查找不同元素,那么使用 HashSet 和 removeAll 方法是合适的方法。 HashSet 不允许重复,因此它可以消除重复的值。
import java.util.Collection; import java.util.HashSet; public class ListComparison2 { public static void main(String[] args) { Collection<String> list1 = Arrays.asList("milan", "iga", "dingo", "iga", "elpha", "iga", "hafil", "iga", "meat", "iga", "neeta.peeta", "iga"); Collection<String> list2 = Arrays.asList("hafil", "iga", "binga", "mike", "dingo", "dingo", "dingo"); Collection<String> common = new HashSet<>(list1); Collection<String> different = new HashSet<>(); different.addAll(list1); different.addAll(list2); common.retainAll(list2); different.removeAll(common); System.out.printf("Common elements: %s%nDifferent elements: %s%n", common, different); } }
自定义方法
或者,您可以创建一个自定义方法来比较列表和返回共同元素和不同元素。这提供了更多的灵活性和定制选项。
public class CustomListComparison { public static void main(String[] args) { List<String> list1 = Arrays.asList("milan", "dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta"); List<String> list2 = Arrays.asList("hafil", "iga", "binga", "mike", "dingo"); List<String> common = new ArrayList<>(); List<String> different = new ArrayList<>(); for (String element : list1) { if (list2.contains(element)) { common.add(element); } else { different.add(element); } } for (String element : list2) { if (!list1.contains(element)) { different.add(element); } } System.out.printf("Common elements: %s%nDifferent elements: %s%n", common, different); } }
通过利用这些技术,您可以有效地比较 Java 中的两个列表,识别共同元素和不同元素
以上是如何在 Java 中有效比较两个列表以查找共同元素和不同元素?的详细内容。更多信息请关注PHP中文网其他相关文章!