Ein Array ist eine Datenstruktur, die aus einer Gruppe von Elementen desselben Datentyps besteht, sodass jedes Element des Arrays durch einen einzelnen Array-Index oder -Schlüssel identifiziert werden kann. Die Elemente des Arrays werden so gespeichert, dass die Adresse eines beliebigen Elements unter Verwendung der Position des ersten Index des Arrays unter Verwendung einer einfachen mathematischen Beziehung berechnet werden kann. Arrays in Java unterscheiden sich in Implementierung und Verwendung im Vergleich zu denen in C/C++, obwohl sie auch viele Ähnlichkeiten aufweisen. Hier werden wir besprechen, wie man ein Array in Java zurückgibt.

Um ein Array in Java zurückzugeben, müssen wir uns um die folgenden Punkte kümmern:

Schlüsselpunkt 1: Die Methode, die das Array zurückgibt, muss als Rückgabetyp ein Array des gleichen Datentyps wie das zurückgegebene Array haben. Der Rückgabetyp kann auch die üblichen Integer-, Double-, Character-, String- oder benutzerdefinierten Klassenobjekte sein.

// 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() {...} 

Schlüsselpunkt 2: Zugriffsmodifikatoren müssen unter Berücksichtigung der Verwendung der Methode und des zurückgegebenen Arrays genau verwendet werden. Auch statische und nichtstatische Deklarationen müssen berücksichtigt werden.

// Using public access modifier and static to call the method from a static class, method or block.
public static char[] methodName() {...} 

Schlüsselpunkt 3: Beim Methodenaufruf muss ein beliebiges Variablenarray desselben Datentyps oder etwas Ähnliches vorhanden sein, um das zurückgegebene Array zu verarbeiten. Beispielsweise kann ein Integer-Array, das von einer beliebigen Methode zurückgegeben wird, wie folgt gespeichert werden.

int[] storage = methodReturningArray();

Implementierung:

Um dies besser zu verstehen, können wir uns einige verschiedene Arten von Szenarien ansehen, in denen wir möglicherweise Arrays zurückgeben. Hier betrachten wir drei Beispiele für Szenarien.

  • Fall 1: Einfache eingebaute Arrays
  • Fall 2: Array von Objekten
  • Fall 3:

Fall 1: Rückgabe eines Integer-Arrays (eingebauter Datentyp) in Java

Jedes Array eines eingebauten Datentyps, sei es integer, character, float, double all kann zurückgegeben werden, indem einfach return-Anweisungen verwendet werden, wobei die oben aufgeführten Punkte zu beachten sind. 

Beispiel

Java

// 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;
    }
}
Ausgabe
1 2 3 4

Fall 2: Zurückgeben eines Arrays von Objekten in Java

Bei der Rückgabe von Arrays eingebauter Datentypen geschieht dies auf genau ähnliche Weise.

Beispiel 

Java

// 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;
    }
}
Ausgabe
Java - 31 Module
C++ - 26 Module
DSA - 24 Module
DBMS - 12 Module

Fall 3: Rückgabe mehrdimensionaler Arrays 

Mehrdimensionale Arrays in Java können als Array von Arrays innerhalb von Arrays bezeichnet werden. Die einfachste Form kann ein zweidimensionales Array sein. Sie haben ihre Größen und Deklarationen entsprechend ihren Größen. Hier wird unten die Rückgabe eines zweidimensionalen Arrays demonstriert, das einen sehr ähnlichen Ansatz wie die eindimensionalen Arrays hat.

Beispiel 

Java

// 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;
    }
}
Ausgabe
1 2 3
4 5 6
7 8 9