Devolver un ArrayList en Java

Mohd Ebad Naqvi 12 octubre 2023
  1. Devolver un ArrayList de una función no estática en Java
  2. Devolver un ArrayList de una función estática en Java
Devolver un ArrayList 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.

Artículo relacionado - Java ArrayList