ArrayList do Java: como criar e utilizar uma dessas listas
A ArrayList é uma das estruturas de dados mais utilizadas em Java. Permite modificar e armazenar dinamicamente uma coleção de objetos. Neste artigo, apresentamos a sintaxe e os métodos da ArrayList do Java.
Qual é a diferença entre ArrayList e Array em Java?
A ArrayList do Java tem um tamanho dinâmico, o que significa que os elementos podem ser facilmente adicionados ou removidos. Além disso, a classe ArrayList pertence ao Java Collections Framework e, ao contrário das matrizes, não está disponível de forma nativa. Deve ser importada da biblioteca java.util.
A ArrayList é uma opção adequada quando o comprimento da lista Java pode variar. Alguns exemplos são o armazenamento de objetos, a pesquisa ou ordenação de dados e a criação de listas ou filas.
O tamanho do tipo de dados array não pode ser alterado. Portanto, o número de objetos que o array deve conter deve ser conhecido antecipadamente. Por isso, os arrays são adequados para gerir um conjunto predefinido de tipos de dados primitivos, como int, float, chat ou boolean.
Uma desvantagem do ArrayList é o maior tempo de acesso. Enquanto que com os arrays existe uma área de memória reservada fixa, com o ArrayList esta não é contígua. Portanto, é importante ter em conta as respetivas vantagens e desvantagens e selecionar a estrutura de dados adequada para cada utilização.
A sintaxe do Java ArrayList
Antes de criar uma ArrayList, a classe correspondente deve ser importada da biblioteca java.util.
import java.util.ArrayList;JavaA sintaxe geral é:
ArrayList<Type> arrayList= new ArrayList<>();Java“Type” representa o tipo de dados respectivo do Java ArrayList.
Em seguida, criamos listas do tipo String e Integer.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaArrayList utiliza a classe wrapper correspondente dos tipos de dados primitivos para que sejam tratados como objetos. Portanto, precisamos especificar Integer em vez de int.
Exemplos de métodos ArrayList em Java
Operações como adicionar ou eliminar elementos não são realizadas com ArrayList utilizando operadores Java, mas sim através de métodos predefinidos. A seguir, mostramos os métodos ArrayList mais comuns.
Adicionar elementos
Depois de criar a ArrayList «colors» do tipo String, adicionamos vários elementos com o método .add().
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println("ArrayList: " + colors);
}
}JavaIsso dá este resultado:
ArrayList: [blue, red, green]JavaRemover elementos
Para remover objetos de uma ArrayList Java, usamos o método .remove() com a especificação do índice do elemento.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println("ArrayList: " + colors);
String color = colors.remove(1);
System.out.println("ArrayList: " + colors);
System.out.println("Removed Element: " + color);
}
}JavaO resultado mostra a ArrayList modificada e o elemento removido:
ArrayList: [blue, green]
Removed Element: redJavaComo na maioria das linguagens de programação, em Java a contagem começa na posição 0. Portanto, o elemento eliminado no índice 1 é red.
Acesso aos elementos de uma Java ArrayList
Com a função .get(), acedemos a um elemento numa posição específica.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> clothes = new ArrayList<>();
clothes.add("jacket");
clothes.add("shirt");
clothes.add("pullover");
System.out.println("ArrayList: " + clothes);
String str = clothes.get(2);
System.out.print("Element at index 2: " + str);
}
}JavaComo resultado, obtemos:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaModificar elementos
Com .set(), estabelecemos um novo elemento num índice específico.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println("ArrayList: " + colors);
colors.set(2, "yellow");
System.out.println("Modified ArrayList: " + colors);
}
}JavaNo resultado, vemos agora yellow em vez de green no índice 2:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaDeterminar o comprimento da Java ArrayList
O número de elementos de uma ArrayList pode ser facilmente calculado com o método .size().
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println(colors.size());
}
}JavaComo resultado, obtemos:
3JavaOrdenar e iterar através de uma ArrayList
Para ordenar uma ArrayList em Java, é necessário importar a classe Collections. Para a iteração, utilizamos um loop Java For Each. Para cada iteração do loop, o elemento respectivo é enviado para a consola.
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> ages = new ArrayList<Integer>();
ages.add(20);
ages.add(54);
ages.add(17);
ages.add(9);
Collections.sort(ages);
for (int i : ages) {
System.out.println(i);
}
}
}JavaOs elementos da ArrayList são apresentados por ordem crescente:
9
17
20
54Java