Restituisce un ArrayList in Java

Mohd Ebad Naqvi 12 ottobre 2023
  1. Restituire un ArrayList da una funzione non statica in Java
  2. Restituire un ArrayList da una funzione statica in Java
Restituisce un ArrayList in Java

Un ArrayList è una classe ridimensionabile del pacchetto java.util. È un array scalabile, il che significa che la dimensione di un array può essere modificata ogni volta che vuoi. Tuttavia, a volte può essere un po’ lento da usare.

In questo tutorial, restituiremo un ArrayList da una funzione all’interno di una classe in Java.

Restituire un ArrayList da una funzione non statica in Java

Lavoreremo con una funzione che crea e restituisce un ArrayList di una certa dimensione. Cercheremo di invocare questa funzione in un’altra classe. Questa funzione non è statica, quindi sarà necessario un oggetto della classe per invocarla.

Nel codice seguente creiamo tale funzione.

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);
  }
}

Produzione:

The List is [10, 15, 30]

La funzione myNumbers() non è statica. Quindi, dobbiamo creare un’istanza di ClassB in ClassA. Ora avremo accesso al metodo ArrayList myNumbers() di ClassB.

Restituire un ArrayList da una funzione statica in Java

È possibile accedere o richiamare una funzione statica senza creare un oggetto della classe a cui appartiene.

Se il metodo statico deve essere chiamato dall’esterno della sua classe genitore, dobbiamo specificare la classe in cui è stata definita la funzione statica.

Possiamo modificare leggermente il nostro codice mentre lavoriamo con una funzione statica.

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);
  }
}

Produzione:

The List is [10, 15, 30]

Nell’esempio sopra, abbiamo fatto riferimento alla funzione da classB in classA senza creare un oggetto di classB.

Articolo correlato - Java ArrayList