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+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告