Retorne um ArrayList em Java

Mohd Ebad Naqvi 12 outubro 2023
  1. Retorne um ArrayList de uma função não estática em Java
  2. Retorne um ArrayList de uma função estática em Java
Retorne um ArrayList em Java

Um ArrayList é uma classe redimensionável de pacote java.util. É um array escalonável, o que significa que o tamanho de um array pode ser modificado sempre que você quiser. No entanto, às vezes pode ser um pouco lento de usar.

Neste tutorial, retornaremos um ArrayList de uma função dentro de uma classe em Java.

Retorne um ArrayList de uma função não estática em Java

Vamos trabalhar com uma função que cria e retorna uma ArrayList de algum tamanho. Tentaremos invocar esta função em outra classe. Esta função não é estática, portanto, um objeto da classe será necessário para invocá-la.

No código a seguir, criamos essa função.

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

Resultado:

The List is [10, 15, 30]

A função myNumbers() não é estática. Portanto, precisamos criar uma instância de ClassB em ClassA. Agora teremos acesso ao método ArrayList myNumbers() de ClassB.

Retorne um ArrayList de uma função estática em Java

Uma função estática pode ser acessada ou chamada sem criar um objeto da classe à qual pertence.

Se o método estático deve ser chamado de fora de sua classe pai, temos que especificar a classe onde essa função estática foi definida.

Podemos modificar nosso código ligeiramente enquanto trabalhamos com uma função 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);
  }
}

Resultado:

The List is [10, 15, 30]

No exemplo acima, nos referimos à função de classB em classA sem criar um objeto de classB.

Artigo relacionado - Java ArrayList