Eine ArrayList in Java zurückgeben
- Eine ArrayList von einer nicht statischen Funktion in Java zurückgeben
- Eine ArrayList aus einer statischen Funktion in Java zurückgeben
Eine ArrayList ist eine in der Größe veränderbare Klasse von java.util
package. Es ist ein skalierbares Array, was bedeutet, dass die Größe eines Arrays jederzeit geändert werden kann. Die Verwendung kann jedoch manchmal etwas langsam sein.
In diesem Tutorial geben wir eine ArrayList von einer Funktion innerhalb einer Klasse in Java zurück.
Eine ArrayList von einer nicht statischen Funktion in Java zurückgeben
Wir werden mit einer Funktion arbeiten, die eine ArrayList einer bestimmten Größe erstellt und zurückgibt. Wir werden versuchen, diese Funktion in einer anderen Klasse aufzurufen. Diese Funktion ist nicht statisch, daher wird ein Objekt der Klasse benötigt, um sie aufzurufen.
Im folgenden Code erstellen wir eine solche Funktion.
import java.util.ArrayList;
public class ClassA {
public static void main(String args[]) {
ClassB m1 = new ClassB();
List listInClassA = m1.myNumbers();
System.out.println("The List is " + listInClassA);
}
}
public class ClassB {
public ArrayList<Integer> myNumbers() {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(10);
numbers.add(15);
numbers.add(30);
return (numbers);
}
}
Ausgabe:
The List is [10, 15, 30]
Die Funktion myNumbers()
ist nicht statisch. Wir müssen also eine Instanz von ClassB
in ClassA
erstellen. Jetzt haben wir Zugriff auf die ArrayList-Methode myNumbers()
von ClassB
.
Eine ArrayList aus einer statischen Funktion in Java zurückgeben
Auf eine statische Funktion kann zugegriffen oder sie aufgerufen werden, ohne ein Objekt der Klasse zu erstellen, zu der sie gehört.
Wenn die statische Methode von außerhalb ihrer Elternklasse aufgerufen werden soll, müssen wir die Klasse angeben, in der diese statische Funktion definiert wurde.
Wir können unseren Code leicht ändern, während wir mit einer statischen Funktion arbeiten.
import java.util.ArrayList;
public class ClassA {
public static void main(String args[]) {
List listInClassA = classB.myNumbers();
System.out.println("The List is " + listInClassA);
}
}
public class ClassB {
public static ArrayList<Integer> myNumbers() {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(10);
numbers.add(15);
numbers.add(30);
return (numbers);
}
}
Ausgabe:
The List is [10, 15, 30]
Im obigen Beispiel haben wir auf die Funktion von classB
in classA
verwiesen, ohne ein Objekt von classB
zu erzeugen.