O ArrayList é uma classe do Java a qual lhe dá a possibilidade de armazenar valores em forma de lista em sua estrutura, esses valores podem ser inteiros, double , char, boolean inclusive referências de Objetos. Alguns métodos muito usados dessa classe são:
add(valor a ser adicionado); //adiciona um valor no ArrayList
size(); // retorna o tamanho do ArrayList
getIndexOf(valor que deseja saber o índice); // retorna o indice do valor que você quer dentro do ArrayList
contains(valor que deseja verificar); // retorna true se o valor que você passou existe dentro do ArrayList
remove(valor a ser removido) // este método remove o valor que você passar através do valor ou índice do valor
Para melhor entendimento vamos ver um exemplo abaixo de como criar um ArrayList do tipo String , ou seja, todos os valores que estiverem nesse ArrayList terão que ser do tipo String. Vejamos abaixo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| public static void main(String[] args) {
// cria o objeto ArrayList ( é o tipo de dado )
ArrayList nomes = new ArrayList<>();
//Aqui adicionamos os valores na lista
nomes.add("Renan");
nomes.add("José");
nomes.add("Maria");
nomes.add("João");
//percorro todos os itens da lista com um for
for (String n : nomes) {
//pego o indice de e nome de n cada iteracao do for
System.out.println(nomes.indexOf(n)+"º nome = "+n);
}
//com o metodo do Arraylist size pego o tamanho da lista
System.out.println("A lista tem "+nomes.size()+" itens");
}
|
A saída será:
0º nome = Renan
1º nome = José
2º nome = Maria
3º nome = João
A lista tem 4 itens
Como mostrado acima é muito fácil e útil usar o ArrayList, no exemplo eu crie o ArrayList<String> onde o que fica entre os sinais <> é o tipo do valor , depois eu adicionei cada nome (String) em uma posição do ArrayList sabendo que a primeira posição do ArrayList é 0 a segunda 1 e assim sucessivamente.
Cada vez que utilizamos o método add() nós adicionamos o valor na seguinte posição vazia do ArrayList, no exemplo acima o primeiro valor foi “Renan” e foi alocado na posição 0 do ArrayList o segundo valor foi “José” que foi alocado na segunda posição do ArrayList e assim a cada vez que chamarmos o método add() será alocado um valor na próxima posição vazia do ArrayList; E se quiséssemos remover um desses nomes do ArrayList como faríamos? Veja no exemplo abaixo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| public static void main(String[] args) {
// cria o objeto ArrayList ( é o tipo de dado )
ArrayList nomes = new ArrayList<>();
//Aqui adicionamos os valores na lista
nomes.add("Renan");
nomes.add("José");
nomes.add("Maria");
nomes.add("João");
//Aqui eu vou remover através do indice
nomes.remove(3);
//Aqui eu vou remover através do valor que adicionei anteriormente
nomes.remove("Maria");
//percorro todos os itens da lista com um for
for (String n : nomes) {
//pego o indice de e nome de n cada iteracao do for
System.out.println(nomes.indexOf(n)+"º nome = "+n);
}
//com o metodo do Arraylist size pego o tamanho da lista
System.out.println("A lista tem "+nomes.size()+" itens");
}
|
A saída será:
0º nome = Renan
1º nome = José
A lista tem 2 itens
Observe que eu removi os valores usando o mesmo método pois ele é sobrecarregado ou seja dependendo do argumento que você passar ele vai se comportar de uma maneira diferente sendo que como passei no primeiro caso o índice 3 que era “João” o método procurou dentro do ArrayList o valor que estava naquele índice.
No segundo caso eu removi os valores usando o próprio valor que eu havia adicionado antes e o método conferiu se no Array existia esse valor e quando verificou que sim ele simplesmente removeu o valor.