当前位置: 首页 > 图灵资讯 > 技术篇> 快速找出两个List的差集 jAVA

快速找出两个List的差集 jAVA

来源:图灵教育
时间:2023-11-02 17:49:32

如何快速找出两个List的差集?(JAVA)流程图

以下是整个操作流程图:

stateDiagram    [*] --> 输入两个List    输入两个List --> 检查是否为空    检查是否为空 --> 找出差集    找出差集 --> 输出差集    输出差集 --> [*]
实现代码检查是否为空

在进行差集操作之前,我们需要检查输入的两个List是否为空。为了避免空指针异常,这是一个非常重要的步骤。

if (list1.isEmpty() || list2.isEmpty()) {    // 如果其中一个List是空的,则直接返回空的差集    return new ArrayList<>();}
找出差集

接下来,我们需要找出两个List的区别。我们可以在JAVA中使用它retainAll()该方法实现此功能。该方法将从调用该方法的List中删除与另一个List中相同的元素,最终返回两个List的差集。

List<T> difference = new ArrayList<>(list1);difference.retainAll(list2);
输出差集

最后,我们将差集输出到控制台或返回给调用器。

System.out.println("差集:" + difference);
完整的代码示例

以下是整个操作的完整代码示例:

import java.util.ArrayList;import java.util.List;public class Main {    public static <T> List<T> difference(List<T> list1, List<T> list2) {        if (list1.isEmpty() || list2.isEmpty()) {            // 若其中一个List为空,然后直接返回空的差集            return new ArrayList<>();        }        List<T> difference = new ArrayList<>(list1);        difference.retainAll(list2);        return difference;    }    public static void main(String[] args) {        List<String> list1 = new ArrayList<>();        list1.add("A");        list1.add("B");        list1.add("C");        List<String> list2 = new ArrayList<>();        list2.add("B");        list2.add("C");        list2.add("D");        List<String> difference = difference(list1, list2);        System.out.println("差集:" + difference);    }}

以上代码将输出:差集:[B, C]

总结

通过以上步骤,我们可以快速找出两个List的区别。首先,我们需要检查输入的List是否为空,以避免空指针异常。然后,我们使用它retainAll()找出差集的方法。最后,我们将差集输出到控制台或返回给调用器。

希望这篇文章对你有帮助!