Java如何從陣列中查詢公共的元素?

2019-10-16 22:31:06

在Java中,如何從陣列中查詢公共的元素?

範例

以下範例顯示了如何從兩個陣列中查詢公共元素並將其儲存在陣列中。

package com.yiibai;

import java.util.*;

public class FindCommonElements {
    public static void main(String[] args) {
        ArrayList objArray = new ArrayList();
        ArrayList objArray2 = new ArrayList();
        objArray2.add(0, "common1");
        objArray2.add(1, "common2");
        objArray2.add(2, "notcommon");
        objArray2.add(3, "notcommon1");
        objArray.add(0, "common1");
        objArray.add(1, "common2");
        objArray.add(2, "notcommon2");
        System.out.println("Array elements of array1" + objArray);
        System.out.println("Array elements of array2" + objArray2);
        objArray.retainAll(objArray2);
        System.out
                .println("Array1 after retaining common elements of array2 & array1"
                        + objArray);
    }
}

執行上面範例程式碼,得到以下結果 -

Array elements of array1[common1, common2, notcommon2]
Array elements of array2[common1, common2, notcommon, notcommon1]
Array1 after retaining common elements of array2 & array1[common1, common2]

範例2

從陣列中查詢出現另一個陣列中的公共元素的範例。

package com.yiibai;

public class FindCommonElements2 {
    public static void main(String a[]) {
        int[] arr1 = { 14, 17, 13, 19, 12 };
        int[] arr2 = { 13, 12, 112, 19, 400, 32, 14 };

        for (int i = 0; i < arr1.length; i++) {
            for (int j = 0; j < arr2.length; j++) {
                if (arr1[i] == arr2[j]) {
                    System.out.println(arr1[i]);
                }
            }
        }
    }
}

執行上面範例程式碼,得到以下結果 -

14
13
19
12