004 配列(要素の呼び出し) 017 解答例

import java.util.Arrays;

public class RemoveDuplicatesExample {
    public static void main(String[] args) {
        // 整数の配列を定義
        int[] originalArray = {1, 2, 2, 3, 4, 4, 5, 6, 6, 7};

        // 重複要素を削除して新しい配列を作成
        int[] uniqueArray = removeDuplicates(originalArray);

        // 結果を表示
        System.out.println("元の配列: " + Arrays.toString(originalArray));
        System.out.println("重複を削除した配列: " + Arrays.toString(uniqueArray));
    }

    public static int[] removeDuplicates(int[] arr) {
        int length = arr.length;
        int uniqueCount = 0;

        // 配列内の重複を削除
        for (int i = 0; i < length; i++) {
            boolean isDuplicate = false;
            for (int j = 0; j < i; j++) {
                if (arr[i] == arr[j]) {
                    isDuplicate = true;
                    break;
                }
            }
            if (!isDuplicate) {
                uniqueCount++;
            }
        }

        // 重複を削除した新しい配列を作成
        int[] uniqueArray = new int[uniqueCount];
        int currentIndex = 0;

        for (int i = 0; i < length; i++) {
            boolean isDuplicate = false;
            for (int j = 0; j < i; j++) {
                if (arr[i] == arr[j]) {
                    isDuplicate = true;
                    break;
                }
            }
            if (!isDuplicate) {
                uniqueArray[currentIndex] = arr[i];
                currentIndex++;
            }
        }

        return uniqueArray;
    }
}

このプログラムでは、重複要素を削除した新しい配列を作成するための removeDuplicates メソッドが使用されています。元の配列から重複要素を削除し、新しい配列に格納されます。結果として、元の配列から重複要素が削除された新しい配列が表示されます。

配列内の重複要素の削除

配列内の重複要素を削除するプロセスは、特定の要素が複数回出現する場合に、それを1回だけ残して、新しい配列を作成することです。以下は、配列内の重複要素を削除するプログラムの一般的な手順と解説です。

  1. 新しい配列を作成: 重複要素を削除した後の新しい配列を作成します。新しい配列のサイズは、元の配列から重複を削除した後の要素数に合わせて設定されます。
  2. 重複要素の検出: ループを使用して、元の配列内の各要素にアクセスします。各要素がすでに新しい配列に含まれているかどうかを確認します。これを行うために、ループ内でさらに別のループを使用して、元の配列内の要素と新しい配列内の要素を比較します。
  3. 新しい配列への要素の追加: 元の配列内の各要素が新しい配列に含まれていない場合、その要素を新しい配列に追加します。これにより、重複要素が削除された新しい配列が形成されます。
  4. 結果の使用: 新しい配列には、重複要素が削除され、元の配列の要素が一意になっています。この新しい配列は、必要に応じて表示したり、他の処理に使用したりできます。

注意点:

  • この方法は、元の配列の要素の順序を維持し、最初に重複要素が現れた順序で新しい配列を作成します。重複を削除するために、2つのループが必要になることがあり、効率性に注意する必要があります。
  • Javaの場合、ArrayListHashSetなどのデータ構造を使用すると、より簡潔で効率的な方法で重複要素を削除できることがあります。

「0004 配列」問題集リスト