Devolver un ArrayList en Java
- Devolver un ArrayList de una función no estática en Java
- Devolver un ArrayList de una función estática en Java
Una ArrayList es una clase de paquete java.util
de tamaño variable. Es un array escalable, lo que significa que el tamaño de un array se puede modificar cuando lo desee. Sin embargo, a veces puede ser un poco lento de usar.
En este tutorial, devolveremos un ArrayList de una función dentro de una clase en Java.
Devolver un ArrayList de una función no estática en Java
Trabajaremos con una función que crea y devuelve una ArrayList de algún tamaño. Intentaremos invocar esta función en otra clase. Esta función no es estática, por lo que se necesitará un objeto de la clase para invocarla.
En el siguiente código, creamos dicha función.
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);
}
}
Producción :
The List is [10, 15, 30]
La función myNumbers()
no es estática. Entonces, necesitamos crear una instancia de ClassB
en ClassA
. Ahora tendremos acceso al método ArrayList myNumbers()
de ClassB
.
Devolver un ArrayList de una función estática en Java
Se puede acceder o invocar una función estática sin crear un objeto de la clase a la que pertenece.
Si se va a llamar al método estático desde fuera de su clase padre, tenemos que especificar la clase donde se definió esa función estática.
Podemos modificar nuestro código ligeramente mientras trabajamos con una función estática.
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);
}
}
Producción :
The List is [10, 15, 30]
En el ejemplo anterior, nos referimos a la función de classB
en classA
sin crear un objeto de classB
.