ArrayList
A classe ArrayList é um array redimensionável, que pode ser encontrada no package java.util.
A diferença entre um array normal do Java e uma ArrayList é que numa ArrayList os elementos podem ser adicionados e
removidos sempre que se desejar.
Uma ArrayList armazena objetos.
Tal como num array normal, os elementos de uma ArrayList são indexados por um índice que começa em zero.
Criação de uma ArrayList
Uma ArrayList é criada da seguinte maneira:
// importa classe ArrayList:
import java.util.ArrayList;
// Cria um objeto ArrayList para armazenar qualquer tipo de objeto:
ArrayList objetos = new ArrayList();
// Cria um objeto ArrayList para armazenar strings:
ArrayList<String> cars = new ArrayList<String>();
Tamanho de uma ArrayList
Para sabermos o tamanho de uma ArrayList, usamos o método size():
cars.size();
Adicionar objetos
Para adicionarmos objetos a uma ArrayList usamos o método add():
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
O método add() adiciona elementos no fim da lista.
No entanto, podemos usar o método add() para inserir um elemento em qualquer posição da
lista:
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
cars.add(1, "Opel"); //insere na 2ª posição da lista
Obter um elemento
Para obtermos um elemento de uma ArrayList usamos o método get() e o índice do
elemento:
//Acede ao primeiro elemento da ArrayList:
String car = cars.get(0);
Modificar um elemento
Para modificarmos um elemento de uma ArrayList usamos o método set() e o índice do
elemento:
//Modifica o 1º elemento da ArrayList:
cars.set(0, "Opel");
Remover um elemento
Para removermos um elemento de uma ArrayList usamos o método remove() e o índice do
elemento:
//Remove o 1º elemento da ArrayList:
cars.remove(0);
Percorrer uma ArrayList
Percorrer com for
for (int i = 0; i < cars.size(); i++) {
System.out.println(cars.get(i));
}
Percorrer com for-each
for (String car : cars) {
System.out.println(car);
}
Percorrer com iterador
Iterator<String> it = cars.iterator();
while (it.hasNext()) {
String car = it.next();
System.out.println(car);
}
