Java ArrayList
Java ArrayList
A classe é um arrayArrayList
redimensionável , que pode ser encontrado no pacote.java.util
A diferença entre um array embutido e um ArrayList
em Java, é que o tamanho de um array não pode ser modificado (se você quiser adicionar ou remover elementos de/para um array, você tem que criar um novo). Enquanto os elementos podem ser adicionados e removidos de um ArrayList
sempre que você quiser. A sintaxe também é um pouco diferente:
Exemplo
Crie um ArrayList
objeto chamado cars que armazenará strings:
import java.util.ArrayList; // import the ArrayList class
ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object
Se você não sabe o que é um pacote, leia nosso Tutorial de Pacotes Java .
Adicionar itens
A ArrayList
classe tem muitos métodos úteis. Por exemplo, para adicionar elementos ao ArrayList
, use o add()
método:
Exemplo
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);
}
}
Acessar um item
Para acessar um elemento no ArrayList
, use o get()
método e consulte o número do índice:
Exemplo
cars.get(0);
Lembre-se: os índices de matriz começam com 0: [0] é o primeiro elemento. [1] é o segundo elemento, etc.
Alterar um item
Para modificar um elemento, use o set()
método e consulte o número do índice:
Exemplo
cars.set(0, "Opel");
Remover um item
Para remover um elemento, use o remove()
método e consulte o número do índice:
Exemplo
cars.remove(0);
Para remover todos os elementos no ArrayList
, use o clear()
método:
Exemplo
cars.clear();
Tamanho da lista de matrizes
Para descobrir quantos elementos um ArrayList possui, use o size
método:
Exemplo
cars.size();
Percorrer um ArrayList
Faça um loop pelos elementos de um ArrayList
com um for
loop e use o
size()
método para especificar quantas vezes o loop deve ser executado:
Exemplo
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");
for (int i = 0; i < cars.size(); i++) {
System.out.println(cars.get(i));
}
}
}
Você também pode percorrer um ArrayList
com o loop for-each :
Exemplo
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");
for (String i : cars) {
System.out.println(i);
}
}
}
Outros tipos
Elementos em um ArrayList são na verdade objetos. Nos exemplos acima, criamos elementos (objetos) do tipo "String". Lembre-se que uma String em Java é um objeto (não um tipo primitivo). Para usar outros tipos, como int, você deve especificar uma classe wrapper equivalente : Integer
. Para outros tipos primitivos, use: Boolean
for boolean, Character
for char, Double
for double, etc:
Exemplo
Crie um ArrayList
para armazenar números (adicione elementos do tipo Integer
):
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);
for (int i : myNumbers) {
System.out.println(i);
}
}
}
Ordenar um ArrayList
Outra classe útil no java.util
pacote é a Collections
classe, que inclui o sort()
método para classificar listas alfabeticamente ou numericamente:
Exemplo
Classifique um ArrayList de Strings:
import java.util.ArrayList;
import java.util.Collections; // Import the Collections class
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");
Collections.sort(cars); // Sort cars
for (String i : cars) {
System.out.println(i);
}
}
}
Exemplo
Classifique um ArrayList de Integers:
import java.util.ArrayList;
import java.util.Collections; // Import the Collections class
public class Main {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(33);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(34);
myNumbers.add(8);
myNumbers.add(12);
Collections.sort(myNumbers); // Sort myNumbers
for (int i : myNumbers) {
System.out.println(i);
}
}
}