Retorne um ArrayList em Java
- Retorne um ArrayList de uma função não estática em Java
- Retorne um ArrayList de uma função estática 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
.