Javaで重複を削除しながら2つの配列をマージする方法は?

HashSetを使えば、配列の重複を排除してマージすることができます。HashSetはJavaのコレクションであり、自動的に重複を処理します。

以下に具体的にご説明します。

  1. マージした配列の要素を重複なく格納するHashSetオブジェクトを作成します。
  2. 最初の配列の要素を一つずつHashSetに追加する。
  3. セカンドの配列の要素を順番にHashSetに追加します。
  4. HashSetを配列に変換することで、重複が削除された結合された配列を取得できます。

以下のコードは例です:

import java.util.Arrays;
import java.util.HashSet;

public class ArrayMergeAndDistinct {
    public static void main(String[] args) {
        int[] arr1 = {1, 2, 3};
        int[] arr2 = {2, 3, 4, 5};
        
        int[] mergedArray = mergeAndDistinct(arr1, arr2);
        System.out.println(Arrays.toString(mergedArray));
    }

    public static int[] mergeAndDistinct(int[] arr1, int[] arr2) {
        HashSet<Integer> set = new HashSet<>();

        for (int i : arr1) {
            set.add(i);
        }

        for (int i : arr2) {
            set.add(i);
        }

        int[] mergedArray = new int[set.size()];
        int index = 0;

        for (int i : set) {
            mergedArray[index++] = i;
        }

        return mergedArray;
    }
}

結果が [1, 2, 3, 4, 5] になります

bannerAds