En Arrays i Java skiljer sig i implementering och användning jämfört med den i C/C++ även om de har många likheter också. Här kommer vi att diskutera hur man returnerar en array i java.
För att kunna returnera en array i java måste vi ta hand om följande punkter:
Nyckelpunkt 1: Metod som returnerar arrayen måste ha returtypen som en array av samma datatyp som den för arrayen som returneras. Returtypen kan också vara de vanliga heltal-, dubbel-, tecken-, sträng- eller användardefinierade klassobjekt.
// Method returning an integer array. int[] methodName() {...}> // Method returning a String array. String[] methodName() {...}> // Method returning an array of objects of class named Students. Students[] methodName() {...}> Nyckelpunkt 2: Åtkomstmodifierare måste användas korrekt med tanke på användningen av metoden och den returnerande arrayen. Statiska och icke-statiska deklarationer måste också beaktas.
// Using public access modifier and static to call the method from a static class, method or block. public static char[] methodName() {...}> Nyckelpunkt 3: Det måste finnas någon variabel array av samma datatyp eller något liknande vid metodanropet för att hantera arrayen som returneras. Till exempel kan en heltalsmatris som returneras från vilken metod som helst lagras enligt följande.
int[] storage = methodReturningArray();>
Genomförande:
För att bättre förstå detta kan vi titta på några olika typer av scenarier där vi kan returnera arrayer. Här kommer vi att överväga tre exempel på scenarier.
- Fall 1: Enkla Inbyggda arrayer
- Fall 2: Array av objekt
- Fall 3: Returnerar flerdimensionella arrayer
Fall 1: Returnerar en heltalsarray (inbyggd datatyp) i java
Alla inbyggda datatypers array är heltal, tecken, float, double all kan returneras helt enkelt använder retursatser med tanke på punkterna som anges ovan.
Exempel
Java
undantagshantering i 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 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; } }> |
>
>Produktion
1 2 3 4>
Fall 2: Returnera en rad objekt i java
Detta görs exakt på ett liknande sätt i fallet med returnerande arrayer av inbyggda datatyper.
Exempel
Java
dfs algoritm
// 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 instantiate 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 System.out.print(sample[i].name + ' - ' + sample[i].modules + ' modules
'); } // 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; } }> |
>
>Produktion
Java - 31 modules C++ - 26 modules DSA - 24 modules DBMS - 12 modules>
Fall 3: Returnerar flerdimensionella arrayer
Flerdimensionella arrayer i java kan sägas vara en array av arrayer inuti arrayer. Den enklaste formen kan vara en tvådimensionell matris. De har sina storlekar och deklaration enligt deras storlekar. Här visas återkomst av en tvådimensionell array nedan som har ett mycket liknande tillvägagångssätt till de endimensionella arrayerna.
Exempel
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 for (int j = 0; j 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; } }> |
sortera en arraylist
>
>Produktion
1 2 3 4 5 6 7 8 9>