Como Retornar um Array

JavaBeginner
Pratique Agora

Introdução

Em Java, podemos retornar um array (vetor) de um método. Isso é útil quando queremos retornar um grupo de dados. Neste laboratório, aprenderemos como retornar um array em Java.

Declare um método que retorna um array

Para retornar um array, o tipo de retorno do método deve ser um tipo array. No exemplo a seguir, declaramos um método chamado getArray() que retorna um array de inteiros.

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

Chame o método

Para chamar o método que retorna um array, atribua o array retornado a uma variável do mesmo tipo, como mostrado abaixo:

int[] myArray = getArray();

Imprima o array retornado

Para imprimir o array retornado do método, você pode usar um loop for para iterar sobre os elementos do array e imprimi-los um por um:

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

Passe um array para um método e retorne um array modificado

Também podemos passar um array para um método e realizar operações nele dentro do método, e então retornar o array modificado. No exemplo a seguir, passamos um array de inteiros para um método chamado reverseArray() que inverte a ordem dos elementos no array e retorna o array invertido.

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

Chame o método e imprima o array modificado

Para chamar o método que inverte o array e retorna o array modificado, primeiro, crie um array, então chame o método reverseArray() e passe o array criado como um parâmetro. Finalmente, para imprimir o array modificado, use um loop for para iterar sobre os elementos do array e imprimi-los um por um:

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

Retorne um array de objetos de um método

Também podemos retornar um array de objetos de um método. No exemplo a seguir, criamos uma classe Student com os membros de dados stud_name e roll_no. Em seguida, declaramos um método chamado getStudents() que retorna um 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;
}

Chame o método e imprima os objetos

Para chamar o método que retorna um array de objetos, atribua o array retornado a uma variável do mesmo tipo, então use um loop for para iterar sobre os elementos do array e imprimir o conteúdo 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);
}

Resumo

Neste laboratório, aprendemos como retornar um array em Java. Também aprendemos como passar um array para um método, realizar uma operação nele e retornar o array modificado. Adicionalmente, aprendemos como retornar um array de objetos de um método.