配列を返す方法

JavaBeginner

はじめに

Java では、メソッドから配列を返すことができます。これは、データのグループを返したい場合に便利です。この実験では、Java で配列を返す方法を学びます。

配列を返すメソッドを宣言する

配列を返すには、メソッドの戻り値の型は配列型でなければなりません。次の例では、整数型の配列を返す getArray() という名前のメソッドを宣言しています。

public static int[] getArray() {
    int[] arr = {1, 2, 3, 4, 5};
    return arr;
}

メソッドを呼び出す

配列を返すメソッドを呼び出すには、返された配列を同じ型の変数に代入します。以下に例を示します。

int[] myArray = getArray();

返された配列を出力する

メソッドから返された配列を出力するには、for ループを使用して配列の要素を繰り返し処理し、要素を 1 つずつ出力することができます。

for (int i = 0; i < myArray.length; i++) {
    System.out.print(myArray[i] + " ");
}

配列をメソッドに渡し、変更された配列を返す

配列をメソッドに渡し、メソッド内で配列に対して操作を行い、変更された配列を返すこともできます。次の例では、整数型の配列を reverseArray() という名前のメソッドに渡しています。このメソッドは配列内の要素の順序を逆にし、逆順になった配列を返します。

public static int[] reverseArray(int[] arr) {
    int left = 0;
    int right = arr.length - 1;
    while (left < right) {
        int temp = arr[left];
        arr[left] = arr[right];
        arr[right] = temp;
        left++;
        right--;
    }
    return arr;
}

メソッドを呼び出し、変更された配列を出力する

配列の要素の順序を逆にし、変更された配列を返すメソッドを呼び出すには、まず配列を作成し、次に reverseArray() メソッドを呼び出して、作成した配列をパラメータとして渡します。最後に、変更された配列を出力するには、for ループを使用して配列の要素を繰り返し処理し、要素を 1 つずつ出力します。

int[] myArray = {1, 2, 3, 4, 5};
myArray = reverseArray(myArray);
for (int i = 0; i < myArray.length; i++) {
    System.out.print(myArray[i] + " ");
}

メソッドからオブジェクトの配列を返す

メソッドからオブジェクトの配列を返すこともできます。次の例では、stud_nameroll_no のデータメンバを持つ Student クラスを作成します。そして、Student オブジェクトの配列を返す getStudents() という名前のメソッドを宣言します。

class Student
{
    String stud_name;
    int roll_no;
    Student(String stud_name, int roll_no) {
        this.stud_name = stud_name;
        this.roll_no = roll_no;
    }
}
public static Student[] getStudents() {
    Student[] arr = new Student[2];
    arr[0] = new Student("Alice", 101);
    arr[1] = new Student("Bob", 102);
    return arr;
}

メソッドを呼び出し、オブジェクトを出力する

オブジェクトの配列を返すメソッドを呼び出すには、返された配列を同じ型の変数に代入し、次に for ループを使用して配列の要素を繰り返し処理し、各オブジェクトの内容を出力します。

Student[] myArray = getStudents();
for (int i = 0; i < myArray.length; i++) {
    System.out.println("Name: " + myArray[i].stud_name + " Roll No: " + myArray[i].roll_no);
}

まとめ

この実験では、Java で配列を返す方法を学びました。また、配列をメソッドに渡し、その配列に対して操作を行い、変更された配列を返す方法も学びました。さらに、メソッドからオブジェクトの配列を返す方法も学びました。