Renvoyer une ArrayList en Java
- Renvoyer une ArrayList à partir d’une fonction non statique en Java
- Renvoyer une ArrayList à partir d’une fonction statique en Java
Une ArrayList est une classe redimensionnable du package java.util
. Il s’agit d’un tableau évolutif, ce qui signifie que la taille d’un tableau peut être modifiée à tout moment. Cependant, il peut parfois être un peu lent à utiliser.
Dans ce tutoriel, nous allons retourner un ArrayList à partir d’une fonction à l’intérieur d’une classe en Java.
Renvoyer une ArrayList à partir d’une fonction non statique en Java
Nous allons travailler avec une fonction qui crée et renvoie un ArrayList d’une certaine taille. Nous allons essayer d’invoquer cette fonction dans une autre classe. Cette fonction n’est pas statique, donc un objet de la classe sera nécessaire pour l’invoquer.
Dans le code suivant, nous créons une telle fonction.
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);
}
}
Production:
The List is [10, 15, 30]
La fonction myNumbers()
n’est pas statique. Nous devons donc créer une instance de ClassB
dans ClassA
. Nous aurons maintenant accès à la méthode ArrayList myNumbers()
de ClassB
.
Renvoyer une ArrayList à partir d’une fonction statique en Java
Une fonction statique peut être accédée ou invoquée sans créer d’objet de la classe à laquelle elle appartient.
Si la méthode statique doit être appelée depuis l’extérieur de sa classe parente, nous devons spécifier la classe dans laquelle cette fonction statique a été définie.
Nous pouvons modifier légèrement notre code tout en travaillant avec une fonction statique.
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);
}
}
Production:
The List is [10, 15, 30]
Dans l’exemple ci-dessus, nous avons fait référence à la fonction de classB
dans classA
sans créer d’objet de classB
.