除了使用 streamanyMatch 方法外,还有其他方法可以判断两个 List<String> 是否有相同的元素。

使用 retainAll 方法

一种方法是使用 retainAll 方法。这个方法会修改调用它的列表,仅保留与指定集合中的元素相同的元素。您可以在调用 retainAll 方法后检查列表是否为空来确定是否有相同的元素。以下是一个示例代码:

import java.util.ArrayList;
import java.util.List;

public class ListComparison {
    public static void main(String[] args) {
        List<String> list1 = new ArrayList<>();
        list1.add("apple");
        list1.add("banana");
        list1.add("orange");

        List<String> list2 = new ArrayList<>();
        list2.add("orange");
        list2.add("grape");
        list2.add("kiwi");

        list1.retainAll(list2);

        if (!list1.isEmpty()) {
            System.out.println("两个列表有相同元素.");
        } else {
            System.out.println("两个列表没有相同元素.");
        }
    }
}

在这个示例中,我们首先创建了两个 ArrayList 列表:list1list2。我们使用 add 方法添加一些元素。

然后,我们调用 list1retainAll 方法,传入 list2 作为参数。这将修改 list1,仅保留与 list2 中相同的元素。

最后,我们检查 list1 是否为空,如果不为空,则表示有相同的元素存在。根据结果打印相应的信息。

请注意,这种方法会修改原始列表。如果您希望保持原始列表的不变性,可以在判断之前创建一个副本列表并对副本列表使用 retainAll 方法。

使用第三方集合操作库

除了这两种方法,还可以使用其他的集合操作库,如 Guava 或 Apache Commons Collections,它们提供了更多用于集合比较的工具和方法。例如,Guava 的 Sets 类提供了一个 intersection 方法,可以返回两个集合的交集,从而判断它们是否包含相同的元素。

总而言之,判断两个 List 是否有相同元素有多种方法,您可以根据具体情况选择最适合的方法。

Java 判断两个 List 是否有相同元素的多种方法

原文地址: https://www.cveoy.top/t/topic/hCP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录