O ArrayList possui diversos métodos úteis que facilitam a manipulação de listas. Vamos explorar os principais métodos com exemplos práticos.
Métodos mais usados:
add() - adicionar elementosget() - obter elementosset() - modificar elementosremove() - remover elementossize() - tamanho da listaclear() - limpar listacontains() - verificar se contémisEmpty() - verificar se está vazioO método add() permite adicionar elementos ao ArrayList:
import java.util.ArrayList;
public class MetodoAdd {
public static void main(String[] args) {
ArrayList<String> frutas = new ArrayList<>();
// 1. add(elemento) - adiciona no final
frutas.add("Maçã");
frutas.add("Banana");
frutas.add("Laranja");
System.out.println("Lista inicial: " + frutas);
// 2. add(índice, elemento) - adiciona em posição específica
frutas.add(1, "Uva"); // Adiciona "Uva" na posição 1
System.out.println("Após add(1, 'Uva'): " + frutas);
// 3. Adicionando no início
frutas.add(0, "Morango");
System.out.println("Após add(0, 'Morango'): " + frutas);
// 4. Adicionando múltiplos elementos
frutas.add("Abacaxi");
frutas.add("Manga");
frutas.add("Kiwi");
System.out.println("Lista final: " + frutas);
}
}
Lista inicial: [Maçã, Banana, Laranja]
Após add(1, 'Uva'): [Maçã, Uva, Banana, Laranja]
Após add(0, 'Morango'): [Morango, Maçã, Uva, Banana, Laranja]
Lista final: [Morango, Maçã, Uva, Banana, Laranja, Abacaxi, Manga, Kiwi]
O método get() retorna o elemento em uma posição específica:
import java.util.ArrayList;
public class MetodoGet {
public static void main(String[] args) {
ArrayList<String> cores = new ArrayList<>();
cores.add("Vermelho");
cores.add("Verde");
cores.add("Azul");
cores.add("Amarelo");
cores.add("Roxo");
// Acessando elementos por índice
System.out.println("Primeira cor: " + cores.get(0));
System.out.println("Segunda cor: " + cores.get(1));
System.out.println("Terceira cor: " + cores.get(2));
// Última cor (size() - 1)
System.out.println("Última cor: " + cores.get(cores.size() - 1));
// Percorrendo com get()
System.out.println("\nTodas as cores:");
for (int i = 0; i < cores.size(); i++) {
System.out.println((i + 1) + ". " + cores.get(i));
}
}
}
Primeira cor: Vermelho
Segunda cor: Verde
Terceira cor: Azul
Última cor: Roxo
Todas as cores:
1. Vermelho
2. Verde
3. Azul
4. Amarelo
5. Roxo
O método set() substitui o elemento em uma posição específica:
import java.util.ArrayList;
public class MetodoSet {
public static void main(String[] args) {
ArrayList<String> animais = new ArrayList<>();
animais.add("Gato");
animais.add("Cachorro");
animais.add("Coelho");
animais.add("Pássaro");
System.out.println("Lista original: " + animais);
// Modificando elementos
animais.set(0, "Leão"); // Substitui "Gato" por "Leão"
System.out.println("Após set(0, 'Leão'): " + animais);
animais.set(2, "Hamster"); // Substitui "Coelho" por "Hamster"
System.out.println("Após set(2, 'Hamster'): " + animais);
// set() retorna o valor antigo
String antigo = animais.set(3, "Papagaio");
System.out.println("Após set(3, 'Papagaio'): " + animais);
System.out.println("Valor antigo removido: " + antigo);
}
}
Lista original: [Gato, Cachorro, Coelho, Pássaro]
Após set(0, 'Leão'): [Leão, Cachorro, Coelho, Pássaro]
Após set(2, 'Hamster'): [Leão, Cachorro, Hamster, Pássaro]
Após set(3, 'Papagaio'): [Leão, Cachorro, Hamster, Papagaio]
Valor antigo removido: Pássaro
O método remove() pode remover por índice ou por valor:
import java.util.ArrayList;
public class MetodoRemove {
public static void main(String[] args) {
ArrayList<String> numeros = new ArrayList<>();
numeros.add("Um");
numeros.add("Dois");
numeros.add("Três");
numeros.add("Quatro");
numeros.add("Cinco");
System.out.println("Lista original: " + numeros);
// 1. remove(índice) - remove por posição
numeros.remove(0); // Remove o primeiro elemento
System.out.println("Após remove(0): " + numeros);
// 2. remove(objeto) - remove por valor
numeros.remove("Quatro"); // Remove o elemento "Quatro"
System.out.println("Após remove('Quatro'): " + numeros);
// 3. Removendo o último elemento
numeros.remove(numeros.size() - 1);
System.out.println("Após remover último: " + numeros);
System.out.println("\nTamanho final: " + numeros.size());
}
}
Lista original: [Um, Dois, Três, Quatro, Cinco]
Após remove(0): [Dois, Três, Quatro, Cinco]
Após remove('Quatro'): [Dois, Três, Cinco]
Após remover último: [Dois, Três]
Tamanho final: 2
O size() retorna o tamanho e o clear() limpa toda a lista:
import java.util.ArrayList;
public class SizeEClear {
public static void main(String[] args) {
ArrayList<Integer> numeros = new ArrayList<>();
// Adicionando elementos
for (int i = 1; i <= 5; i++) {
numeros.add(i * 10);
}
System.out.println("Lista: " + numeros);
System.out.println("Tamanho: " + numeros.size());
// Removendo um elemento
numeros.remove(2);
System.out.println("\nApós remover índice 2:");
System.out.println("Lista: " + numeros);
System.out.println("Novo tamanho: " + numeros.size());
// Limpando toda a lista
numeros.clear();
System.out.println("\nApós clear():");
System.out.println("Lista: " + numeros);
System.out.println("Tamanho: " + numeros.size());
System.out.println("Está vazia? " + numeros.isEmpty());
}
}
Lista: [10, 20, 30, 40, 50]
Tamanho: 5
Após remover índice 2:
Lista: [10, 20, 40, 50]
Novo tamanho: 4
Após clear():
Lista: []
Tamanho: 0
Está vazia? true
Métodos para verificar conteúdo da lista:
import java.util.ArrayList;
public class ContainsEIsEmpty {
public static void main(String[] args) {
ArrayList<String> linguagens = new ArrayList<>();
// Verificando se está vazia
System.out.println("Lista vazia? " + linguagens.isEmpty());
// Adicionando elementos
linguagens.add("Java");
linguagens.add("Python");
linguagens.add("JavaScript");
System.out.println("\nLista: " + linguagens);
System.out.println("Lista vazia? " + linguagens.isEmpty());
// Verificando se contém elementos
System.out.println("\nContém 'Java'? " + linguagens.contains("Java"));
System.out.println("Contém 'C++'? " + linguagens.contains("C++"));
System.out.println("Contém 'Python'? " + linguagens.contains("Python"));
// Busca case-sensitive
System.out.println("\nContém 'java' (minúsculo)? " + linguagens.contains("java"));
}
}
Lista vazia? true
Lista: [Java, Python, JavaScript]
Lista vazia? false
Contém 'Java'? true
Contém 'C++'? false
Contém 'Python'? true
Contém 'java' (minúsculo)? false
Mais métodos importantes do ArrayList:
import java.util.ArrayList;
public class OutrosMetodos {
public static void main(String[] args) {
ArrayList<String> nomes = new ArrayList<>();
nomes.add("Ana");
nomes.add("Bruno");
nomes.add("Carlos");
nomes.add("Diana");
System.out.println("Lista original: " + nomes);
// indexOf() - retorna o índice do elemento
int indice = nomes.indexOf("Carlos");
System.out.println("\nÍndice de 'Carlos': " + indice);
// lastIndexOf() - último índice do elemento
nomes.add("Ana"); // Duplicando "Ana"
System.out.println("Primeiro índice de 'Ana': " + nomes.indexOf("Ana"));
System.out.println("Último índice de 'Ana': " + nomes.lastIndexOf("Ana"));
// toString() - já usado automaticamente pelo println
String texto = nomes.toString();
System.out.println("\nComo String: " + texto);
// toArray() - converte para array
Object[] array = nomes.toArray();
System.out.println("\nPrimeiro elemento do array: " + array[0]);
// addAll() - adiciona outra coleção
ArrayList<String> novos = new ArrayList<>();
novos.add("Eduardo");
novos.add("Fernanda");
nomes.addAll(novos);
System.out.println("\nApós addAll(): " + nomes);
}
}
Lista original: [Ana, Bruno, Carlos, Diana]
Índice de 'Carlos': 2
Primeiro índice de 'Ana': 0
Último índice de 'Ana': 4
Como String: [Ana, Bruno, Carlos, Diana, Ana]
Primeiro elemento do array: Ana
Após addAll(): [Ana, Bruno, Carlos, Diana, Ana, Eduardo, Fernanda]
| Método | Descrição | Exemplo |
|---|---|---|
add(elemento) |
Adiciona elemento no final | lista.add("item") |
add(índice, elemento) |
Adiciona em posição específica | lista.add(0, "item") |
get(índice) |
Retorna elemento na posição | lista.get(0) |
set(índice, elemento) |
Substitui elemento na posição | lista.set(0, "novo") |
remove(índice) |
Remove elemento na posição | lista.remove(0) |
remove(objeto) |
Remove elemento por valor | lista.remove("item") |
size() |
Retorna o tamanho | lista.size() |
clear() |
Remove todos os elementos | lista.clear() |
contains(objeto) |
Verifica se contém elemento | lista.contains("item") |
isEmpty() |
Verifica se está vazia | lista.isEmpty() |
indexOf(objeto) |
Retorna índice do elemento | lista.indexOf("item") |
Teste seus conhecimentos sobre métodos do ArrayList em Java:
Reforce o conteúdo desta aula com mais dois exercícios práticos: