ArrayList
ArrayList em Java
A classe ArrayList é um array redimensionável, que pode ser encontrado
no pacote java.util.
A diferença entre um array-vector embutido e um ArrayList em Java é
que o tamanho de um array não pode ser modificado (se quiser adicionar ou
remover elementos de/para um array, tem que criar um novo). Enquanto
elementos podem ser adicionados e removidos de um ArrayList quando
quiser. A sintaxe também é um pouco diferente:
Exemplo
Crie um ArrayList objeto chamado cars que armazenará strings:
import java.util.ArrayList; // importar a classe ArrayList
ArrayList<String> cars = new ArrayList<String>(); //Crear um Objecto do
ArrayList
Adicionar itens
A ArrayListclasse tem muitos métodos úteis. Por exemplo, para adicionar
elementos à lista, use o método add():
Exemplo
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars); [Volvo, BMW, Ford, Mazda,]
}
}
Você também pode adicionar um item em uma posição específica
consultando o número do índice:
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(0, "Mazda"); // Insere o element no inicio da lista (0)
System.out.println(cars); [Mazda, Volvo, BMW, Ford]
}
}
Acessar um item
Para acessar um elemento no ArrayList, use o método get()e consulte o
número do índice:
Exemplo
cars.get(0);
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.get(0)); Volvo
}
}
Alterar um item
Para modificar um elemento, use o método set()e consulte o número do
índice:
Exemplo
cars.set(0, "Opel");
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");
cars.set(0, "Opel");
System.out.println(cars); [Opel, BMW, Ford, Mazda]
}
}
Remover um item
Para remover um elemento, use o método remove()e consulte o número do
índice:
Exemplo
cars.remove(0);
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");
cars.remove(0);//remover item na posicao 0
System.out.println(cars); [BMW, Ford, Mazda]
}
}
Para remover todos os elementos do ArrayList, use o método clear():
Exemplo
cars.clear();
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");
cars.clear();//Para remover todos os elementos do ArrayList
System.out.println(cars); []
}
}
Tamanho da ArrayList
Para descobrir quantos elementos um ArrayList tem, use o método size():
Exemplo
cars.size();
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.size()); // 4
}
}
Loop através de um ArrayList
Percorra os elementos de ArrayList um loop for e use o método
size()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));
}
}
}
Volvo
BMW
Ford
Mazda
Você também pode fazer um loop ArrayList com o loop for-ach :
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) {// for-ach
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 de 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 para boolean, Characterpara char, Double
para 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 = 0; i < myNumbers.size(); i++){//(int i : myNumbers)
System.out.println(i);//S.O.Pln para for-ach
System.out.println(myNumbers.get(i));
}
}
}
10
15
20
25
Classificar uma ArrayList
Outra classe útil no pacote java.util é a classe Collections, que inclui
o método sort()para classificar listas em ordem alfabética ou numérica:
Exemplo
Classificar uma 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);
}
}
}
BMW
Ford
Mazda
Volvo
Exemplo
Classificar uma ArrayList de Inteiros:
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);
}
}
}
8
12
15
20
33
34
Criar uma Array - Vector
import java.util.Scanner;
public class CriarVector{
public static void main(String[] args) {
Scanner ler = new Scanner(System.in);
// Definir o tamanho do array
System.out.print("Digite o tamanho do array: ");
int tamanho = ler.nextInt();
// Criar o array
int[] arrayInteiros = new int[tamanho];
// Preencher o array com números inteiros
System.out.println("Digite " + tamanho + " numeros inteiros:");
for (int i = 0; i < tamanho; i++) {
System.out.print("Numero " + (i + 1) + ": ");
arrayInteiros[i] = ler.nextInt();
}
// Exibir o array
for (int i = 0; i < tamanho; i++) {
System.out.println(arrayInteiros[i]);
}
ler.close();
}
}
Criar um ArrayList
import java.util.ArrayList;
import java.util.Scanner;
public class ExemploArrayList {
public static void main(String[] args) {
// Criação da ArrayList para armazenar inteiros
ArrayList<Integer> numeros = new ArrayList<>();
Scanner ler = new Scanner(System.in);
// Solicitar ao usuário que informe 5 valores
System.out.println("Informe 5 valores inteiros:");
for (int i = 0; i < 5; i++) {
System.out.print("Valor " + (i + 1) + ": ");
int valor = ler.nextInt();
numeros.add(valor); // Adiciona o valor à ArrayList
}
// Imprimir os valores individualmente
System.out.println("Os valores informados são:");
for (int i = 0; i < 5; i++) {//(int numero : numeros)
System.out.println(numeros);
}
// Fechar o scanner
ler.close();
}
}