Como retornar um array em Java?
Uma array é uma estrutura de dados que consiste em um grupo de elementos do mesmo tipo de dados, de modo que cada elemento da array pode ser identificado por um único índice ou chave de array. Os elementos da array são armazenados de forma que o endereço de qualquer um dos elementos possa ser calculado usando a localização do primeiro índice da array por meio de uma relação matemática simples. Os arrays em Java são diferentes na implementação e no uso quando comparados aos do C / C++, embora também tenham muitas semelhanças. Aqui, discutiremos como retornar um array em java.
Para retornar uma array em java, precisamos cuidar dos seguintes pontos:
Ponto-chave 1: o método que retorna a array deve ter o tipo de retorno como uma array do mesmo tipo de dados da array que está sendo retornada. O tipo de retorno pode ser o normal Integer, Double, Character, String ou objetos de classe definidos pelo usuário também.
// Method returning an String array. int[] methodName() {...}
// Method returning a String array. String[] methodName() {...}
// Method returning an array of objects of class named Students. Students[] methodName() {...}
Ponto-chave 2: os modificadores de acesso devem ser usados com precisão, considerando o uso do método e a array de retorno. Declarações estáticas e não estáticas também devem ser levadas em consideração.
// Using public access modifier and static to call the method from a static class, method or block. public static char[] methodName() {...}
Ponto-chave 3: deve haver qualquer array variável do mesmo tipo de dados ou algo semelhante na chamada do método para lidar com o array que está sendo retornado. Por exemplo, uma array de inteiros retornada de qualquer método pode ser armazenada da seguinte maneira.
int[] storage = methodReturningArray();
Implementação:
Para entender melhor isso, podemos examinar alguns tipos diferentes de cenários em que podemos estar retornando arrayes. Aqui estaremos considerando três exemplos de cenários.
- Caso 1: arrayes simples integradas
- Caso 2: array de objetos
- Caso 3:
Caso 1: retornando uma array inteira (tipo de dados integrado) em java
Qualquer array de tipo de dados embutido seja inteiro, caractere, flutuante, duplo, tudo pode ser retornado simplesmente usando instruções de retorno, tendo em mente os pontos listados acima.
Exemplo
// Java Program to Illustrate Returning
// simple built-in arrays
// Importing input output classes
import java.io.*;
// Main class
class GFG {
// Method 1
// Main driver method
public static void main(String[] args)
{
// An integer array storing the returned array
// from the method
int[] storage = methodReturningArray();
// Printing the elements of the array
for (int i = 0; i < storage.length; i++)
System.out.print(storage[i] + " ");
}
// Method 2
// Returning an integer array
public static int[] methodReturningArray()
{
int[] sample = { 1, 2, 3, 4 };
// Return statement of the method.
return sample;
}
}
1 2 3 4
Caso 2: retornando uma array de objetos em java
Isso é feito exatamente de maneira semelhante no caso de retorno de arrayes de tipos de dados integrados.
Exemplo
// Java Program to Illustrate Returning
// an array of objects in java
// Importing all input output classes
import java.io.*;
// Class 1
// Helper class
// Courses whose objects are returned as an array
class Courses {
String name;
int modules;
// Constructor to instatiate class objects.
public Courses(String n, int m)
{
// This keyword refers to current instance itself
this.name = n;
this.modules = m;
}
}
// Class 2
// Main class
class GFG {
// Method 1
// Main driver method
public static void main(String[] args)
{
// Calling the method for returning an array of
// objects of the Courses class.
Courses[] sample = methodReturningArray();
// Printing the returned array elements.
for (int i = 0; i < sample.length; i++)
System.out.print(sample[i].name + " - "
+ sample[i].modules
+ " modules\n");
}
// Method 2
// Note that return type is an array
public static Courses[] methodReturningArray()
{
// Declaring Array of objects of the Courses class
Courses[] arr = new Courses[4];
// Custom array of objects
arr[0] = new Courses("Java", 31);
arr[1] = new Courses("C++", 26);
arr[2] = new Courses("DSA", 24);
arr[3] = new Courses("DBMS", 12);
// Statement to return an array of objects
return arr;
}
}
Java - 31 módulos C++ - 26 módulos DSA - 24 módulos DBMS - 12 módulos
Caso 3: Retornando arrayes multidimensionais
Pode-se dizer que os arrays multidimensionais em java são um array de arrays dentro de arrays. A forma mais simples pode ser uma array bidimensional. Eles têm seus tamanhos e declaração de acordo com seus tamanhos. Aqui, o retorno de uma array bidimensional é demonstrado abaixo, que tem uma abordagem muito semelhante às arrayes unidimensionais.
Exemplo
// Java Program to Illustrate Returning
// Multi-dimensional Arrays
// Importing input output classes
import java.io.*;
// Main class
class GFG {
// Method 1
// Main driver method
public static void main(String[] args)
{
// An integer 2D array storing the
// returned array from the method
int[][] storage = methodReturningArray();
// Printing the elements of the array
// using nested for loops
for (int i = 0; i < storage.length; i++) {
for (int j = 0; j < storage[0].length; j++)
System.out.print(storage[i][j] + " ");
System.out.println();
}
}
// Method 2
// Returning an integer array
public static int[][] methodReturningArray()
{
// Custom 2D integer array
int[][] sample
= { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
// Return statement of the method
return sample;
}
}
1 2 3 4 5 6 7 8 9
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva