Cómo devolver una matriz (array)

JavaBeginner
Practicar Ahora

Introducción

En Java, podemos devolver una matriz (array) desde un método. Esto es útil cuando queremos devolver un grupo de datos. En este laboratorio (lab), aprenderemos cómo devolver una matriz (array) en Java.

Declara un método que devuelva una matriz (array)

Para devolver una matriz (array), el tipo de retorno del método debe ser un tipo de matriz (array). En el siguiente ejemplo, declaramos un método llamado getArray() que devuelve una matriz (array) de enteros.

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

Llama al método

Para llamar al método que devuelve una matriz (array), asigna la matriz (array) devuelta a una variable del mismo tipo, como se muestra a continuación:

int[] myArray = getArray();

Imprime la matriz (array) devuelta

Para imprimir la matriz (array) devuelta por el método, puedes usar un bucle for para iterar sobre los elementos de la matriz (array) e imprimirlos uno por uno:

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

Pasa una matriz (array) a un método y devuelve una matriz (array) modificada

También podemos pasar una matriz (array) a un método y realizar operaciones en ella dentro del método, luego devolver la matriz (array) modificada. En el siguiente ejemplo, pasamos una matriz (array) de enteros a un método llamado reverseArray() que invierte el orden de los elementos en la matriz (array) y devuelve la matriz (array) invertida.

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;
}

Llama al método e imprime la matriz (array) modificada

Para llamar al método que invierte la matriz (array) y devuelve la matriz (array) modificada, primero, crea una matriz (array), luego llama al método reverseArray() y pasa la matriz (array) creada como parámetro. Finalmente, para imprimir la matriz (array) modificada, usa un bucle for para iterar sobre los elementos de la matriz (array) e imprímelos uno por uno:

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

Devuelve un array de objetos desde un método

También podemos devolver una matriz (array) de objetos desde un método. En el siguiente ejemplo, creamos una clase Student con los miembros de datos stud_name y roll_no. Luego, declaramos un método llamado getStudents() que devuelve una matriz (array) de objetos Student.

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;
}

Llama al método e imprime los objetos

Para llamar al método que devuelve una matriz (array) de objetos, asigna la matriz (array) devuelta a una variable del mismo tipo, luego usa un bucle for para iterar sobre los elementos de la matriz (array) e imprime el contenido de cada objeto.

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);
}

Resumen

En este laboratorio (lab), aprendimos cómo devolver una matriz (array) en Java. También aprendimos cómo pasar una matriz (array) a un método, realizar una operación en ella y devolver la matriz (array) modificada. Además, aprendimos cómo devolver una matriz (array) de objetos desde un método.