Java ArrayList
O ArrayList em Java faz parte da estrutura de coleções do Java e pode ser encontrado no pacote java.util. É uma implementação de matriz redimensionável da interface List, que oferece uma maneira conveniente de armazenar coleções de elementos de tamanho dinâmico.
Uso
ArrayList é usado quando você precisa de um array flexível que pode crescer e diminuir de tamanho. Ele permite o acesso aleatório rápido e é adequado para cenários em que são necessárias operações de leitura frequentes.
Sintaxe
ArrayList<Type> arrayListName = new ArrayList<Type>();
Type: O tipo de elementos na lista.arrayListName: O nome da instânciaArrayList.
Exemplos
Exemplo 1: Operações básicas
import java.util.ArrayList;
public class BasicArrayListExample {
public static void main(String[] args) {
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
System.out.println("Fruits: " + fruits);
fruits.remove("Banana");
System.out.println("After removal: " + fruits);
System.out.println("First fruit: " + fruits.get(0));
}
}
Neste exemplo, um ArrayList do tipo String é criado para armazenar nomes de frutas. O método add() é usado para inserir elementos, remove() exclui um elemento e get() recupera um elemento por seu índice.
Exemplo 2: Iteração em uma ArrayList
import java.util.ArrayList;
public class IterateArrayListExample {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(10);
numbers.add(20);
numbers.add(30);
for (int number : numbers) {
System.out.println(number);
}
}
}
Este exemplo demonstra como você pode iterar em um ArrayList usando um loop for-each. É criado um ArrayList do tipo Integer e cada elemento é impresso no console.
Exemplo 3: Classificação de uma ArrayList
import java.util.ArrayList;
import java.util.Collections;
public class SortArrayListExample {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<>();
names.add("John");
names.add("Alice");
names.add("Bob");
Collections.sort(names);
System.out.println("Sorted names: " + names);
}
}
Neste exemplo, um ArrayList do tipo String é classificado usando o método Collections.sort(), que organiza os elementos em ordem natural.
Operações adicionais
A classe ArrayList fornece vários métodos para realizar operações nos elementos:
- Acesso a itens: Use o método
get()para recuperar elementos por índice. - Modificação de itens: Use o método
set()para alterar um elemento em um índice específico. - Remoção de itens: Use o método
remove()para excluir um elemento por índice e o métodoclear()para remover todos os elementos. - Obtendo o tamanho da ArrayList: Use o método
size()para encontrar o número de elementos noArrayList. - Usando outros tipos: Armazene diferentes tipos de dados em
ArrayListusando classes de proteção para tipos primitivos (por exemplo,Integer,Boolean).
Dicas e práticas recomendadas
- Capacidade inicial: Se o tamanho do site
ArrayListfor conhecido antecipadamente, especifique uma capacidade inicial para melhorar o desempenho e reduzir a necessidade de redimensionamento.ArrayList list = new ArrayList<>(50); // Initial capacity of 50 - Tipo de segurança: Use genéricos para garantir a segurança do tipo e evitar erros de tempo de execução.
ArrayList numbers = new ArrayList<>(); // Type-safe declaration - Evite o redimensionamento frequente: Minimize as adições e remoções frequentes de elementos para reduzir a sobrecarga das operações de redimensionamento.
- Use o Iterator para remoção segura: Ao remover elementos durante a iteração, use um
Iteratorpara evitarConcurrentModificationException.Iterator iterator = list.iterator(); while (iterator.hasNext()) { if (condition) { iterator.remove(); } } - Considere o LinkedList para inserções/exclusões frequentes: Se forem necessárias inserções e exclusões frequentes, considere o uso do site
LinkedList, que oferece melhor desempenho para essas operações.