配列

編集

プログラミングにおける配列(Array)は、同じデータ型の要素が連続して格納されたデータ構造です。配列は、複数の値を一つの変数に格納するために使用され、要素はインデックス(通常は0から始まる整数)によって識別されます。効率的なデータアクセスと操作が可能で、データの集合を扱う際に重要な役割を果たします。

配列の特性

編集

配列の主な特性は以下の通りです:

  1. 同じデータ型の要素: 配列内のすべての要素は同じデータ型である必要があります。
  2. 連続したメモリ領域: 配列の要素は連続したメモリ領域に格納されます。
  3. 要素のインデックス: 通常、0から始まる整数インデックスでアクセスされます。
  4. 固定サイズ: 配列のサイズは作成時に決まり、変更できません。

Javaの配列

編集

Javaの配列は、以下の特徴を持ちます:

  • オブジェクトとして扱われる。
  • 固定サイズで、要素はインデックスを用いてアクセス可能。

基本操作

編集

以下に配列の基本操作を示します。

import java.util.Arrays;

public class ArrayExample {
    public static void main(String[] args) {
        // 配列の宣言と初期化
        int[] numbers = {5, 2, 7, 1, 9};

        // 配列の要素へのアクセス
        System.out.println("First element: " + numbers[0]);

        // 配列の長さを取得
        System.out.println("Array length: " + numbers.length);

        // 拡張forループで要素を反復
        for (int num : numbers) {
            System.out.println(num);
        }

        // 配列のコピー
        int[] copy = Arrays.copyOf(numbers, numbers.length);
        System.out.println("Copied array: " + Arrays.toString(copy));

        // 配列のソート
        Arrays.sort(numbers);
        System.out.println("Sorted array: " + Arrays.toString(numbers));

        // 配列の比較
        int[] numbers2 = {1, 2, 5, 7, 9};
        System.out.println("Arrays are equal: " + Arrays.equals(numbers, numbers2));
    }
}

このコードは、配列の基本的な操作を示しており、Javaのjava.util.Arraysクラスが提供する便利なメソッドを活用しています。

配列の主なメソッド

編集

以下は、java.util.Arraysクラスで提供される主なメソッド一覧です。

配列のメソッド一覧
メソッド 説明
copyOf() 配列を指定した長さでコピーします。
sort() 配列を昇順にソートします。
equals() 配列同士を比較します。
binarySearch() ソートされた配列で二分探索を行います。
fill() 配列の全要素を指定値で初期化します。
toString() 配列を文字列として返します。

多次元配列

編集

多次元配列は、配列の要素が配列となる構造です。以下は2次元および3次元配列の例です。

// 2次元配列の宣言
int[][] twoDimArray = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

// 3次元配列の宣言
int[][][] threeDimArray = {
    {
        {1, 2}, {3, 4}
    },
    {
        {5, 6}, {7, 8}
    }
};

多次元配列はネストされたforループで反復処理することが一般的です。

// 2次元配列の反復処理
for (int[] row : twoDimArray) {
    for (int element : row) {
        System.out.print(element + " ");
    }
    System.out.println();
}

参考文献

編集