Java程序查找两个ArrayList中的公共元素


在本文中,我们将学习如何查找两个ArrayList中的公共元素。ArrayList 类扩展了AbstractList并实现了List接口。ArrayList支持动态数组,可以根据需要增长。

问题陈述

在给定的数组中,我们的目标是在Java中查找两个ArrayList对象中的公共元素,ArrayList是用初始大小创建的。当超过此大小时,集合会自动扩大。当删除对象时,数组可能会缩小。下面是对此的演示:

输入

First list: [Java, Scala, Shell, JavaScript]
Second list: [Java, Python, Shell]

输出

The common elements from the two lists are: [Java, Shell]

查找两个ArrayList中公共元素的步骤

以下是查找两个ArrayList中公共元素的步骤

  • 步骤1 - 开始
  • 步骤2 - 声明两个ArrayList,分别命名为input_list_1和input_list_2
  • 步骤3 - 定义值。
  • 步骤4 - 使用内置函数.retainAll()从两个列表中获取所有公共元素。
  • 步骤5 - 显示结果
  • 步骤6 - 结束

示例1

在这里,我们将所有操作绑定在main函数下。

import java.util.ArrayList;
public class Demo {
    public static void main(String[] args){
        ArrayList<String>
        input_list_1 = new ArrayList<String>();
        input_list_1.add("Java");
        input_list_1.add("Scala");
        input_list_1.add("Shell");
        input_list_1.add("JavaScript");
        System.out.println("The first list is defined as: " + input_list_1);
        ArrayList<String> input_list_2 = new ArrayList<String>();
        input_list_2.add("Java");
        input_list_2.add("Python");
        input_list_2.add("Shell");
        System.out.println("The second list is defined as: " + input_list_2);
        input_list_1.retainAll(input_list_2);
        System.out.println("\nThe common elements from the two lists are: " + input_list_1);
    }
}

输出

The first list is defined as: [Java, Scala, Shell, JavaScript]
The second list is defined as: [Java, Python, Shell]

The common elements from the two lists are: [Java, Shell]

代码解释

ArrayList类从java.util包导入。定义了一个名为Demo的公共类。定义了main方法,它是程序的入口点。创建了一个名为input_list_1ArrayList来保存字符串元素。add方法用于向列表中添加四种编程语言。打印第一个列表的内容。创建另一个名为input_list_2ArrayList,并向其中添加三种编程语言。打印第二个列表的内容。retainAll方法用于在input_list_1上,只保留在input_list_2中也存在的元素。这将修改input_list_1使其只包含公共元素。打印两个列表之间的公共元素。

示例2

在这里,我们将操作封装到展示面向对象编程的函数中。

import java.util.ArrayList;
public class Demo {
    static void get_common_elements(ArrayList<String> input_list_1, ArrayList<String>              input_list_2){
        input_list_1.retainAll(input_list_2);
        System.out.println("\nThe common elements from the two lists are: " + input_list_1);
    }
    public static void main(String[] args){
        ArrayList<String> input_list_1 = new ArrayList<String>();
        input_list_1.add("Java");
        input_list_1.add("Scala");
        input_list_1.add("Shell");
        input_list_1.add("JavaScript");
        System.out.println("The first list is defined as: " + input_list_1);
        ArrayList<String> input_list_2 = new ArrayList<String>();
        input_list_2.add("Java");
        input_list_2.add("Python");
        input_list_2.add("Shell");
        System.out.println("The second list is defined as: " + input_list_2);
        get_common_elements(input_list_1, input_list_2);
    }
}

输出

The first list is defined as: [Java, Scala, Shell, JavaScript]
The second list is defined as: [Java, Python, Shell]

The common elements from the two lists are: [Java, Shell]

代码解释

在给定的Java代码中,定义了一个包含main方法和静态方法get_common_elements的Demo类。main方法创建两个ArrayList对象,用一些字符串元素填充它们,然后调用get_common_elements方法来查找并打印两个列表之间的公共元素。

更新于:2024年7月4日

3K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告