image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image

FO

Fellipe Oliveira06/02/2024 16:16
Compartilhe

Usando ArrayList em Java

  • #Java

Embora a utilização de Arrays seja comum na área da programação para armazenar dados de um mesmo tipo, o que acontece quando o sistema possui uma quantidade mutável desses dados? A resposta para isso é o uso de uma ArrayList, um array redimensionável, mas que é derivada da interface List, que por sua vez é derivada da Collection. Dessa forma, a ArrayList pode utilizar de métodos de ambas.

image

Nesse artigo, exploramos o poder de uma ArrayList.

Sua sintaxe no Java segue os padrões estabelecidos pela linguagem, onde ArrayList é uma classe e objetos dela podem ser instanciados a partir da palavra new. Além disso, também, faz-se necessária a importação da classe antes de utilizá-la no programa.

import java.util.ArrayList;
ArrayList<Tipo> minhaArrayList = new ArrayList<Tipo>();

Note que, de acordo com a documentação Java, a prática de se implementar tipos parametrizados, ou seja, de especificar qual tipo de dado a ArrayList irá utilizar, é recomendado por três motivos:

  1. Permitir a implementação de algoritmos genéricos, que são mais fáceis de ler e customizar.
  2. Eliminação de casts.
  3. Ser mais fácil de detectar erros de compilação do que de execução.

Dando continuidade, portanto, podemos exemplificar o uso de uma ArrayList e seus vários métodos que são utilizados no dia a dia. Nos exemplos, estaremos utilizando uma ArrayList com o nome de clientes de uma loja que serão sorteados de maneira arbitrária e o primeiro entre eles ganhará um desconto.

Populando a ArrayList

Com o método add(), pode-se adicionar elementos em uma ArrayList. Combinando com a operação for, o método não precisa ser digitado várias vezes. Iniciamos o exemplo ao verificar se a ArrayList está vazia através do método isEmpty() e logo em seguida permitindo que o usuário digite o nome de 4 clientes. Então, imprimimos a ArrayList na tela e verificamos novamente se está vazia.

import java.util.ArrayList;
import java.util.Scanner;


public class ArtigoArrayList {
  
  public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
      ArrayList<String> clientes = new ArrayList<String>();
      System.out.println(clientes.isEmpty());
      for (int i = 0; i < 4; i++)
      {
          String cliente = input.nextLine();
          clientes.add(cliente);
      }
      System.out.println(clientes);
      System.out.println(clientes.isEmpty());
  }  
}

Considerando 4 nomes: Maria, João, José e Paulo, os comandos de impressão na tela resultarão em:

true
[Maria, João, José, Paulo]
false

Removendo Elementos

Mas, por algum motivo, José não é mais cliente da loja. Ele pode ser removido através do comando abaixo:

clientes.remove("José");

Ou então, caso haja conhecimento do índice onde está localizado o nome dele:

clientes.remove(2);

Se imprimirmos novamente a ArrayList na tela, veremos que o nome dele foi removido.

System.out.println(clientes);

A saída será

[Maria, João, Paulo]

Sorteando Elementos

O sorteio de elementos é implementado na interface Collections, então se faz necessário a importação dela para o código.

import java.util.Collections;

Dessa forma, o comando a seguir poderá ser utilizado, e podemos verificar o funcionamento ao imprimir novamente na tela a ArrayList:

Collections.shuffle(clientes);
System.out.println(clientes);

A saída será

[Paulo, Maria, João];

A fim de obter, portanto, o primeiro colocado desse sorteio, utilizamos o seguinte comando:

System.out.println(clientes.get(0));

Assim obteremos:

Paulo

Conclusão

Como visto, há utilidades reais para o uso de ArrayList, uma poderosa ferramenta, no dia a dia. Para mais informações nos vários métodos que podem ser utilizados, confira a documentação oficial sobre ArrayList e mais sobre o framework Collections.

Compartilhe
Recomendados para você
Deal - Spring Boot e Angular (17+)
Cognizant - Arquitetura com Spring Boot e Cloud
Claro - Java com Spring Boot
Comentários (0)