Sobes.tech
Junior — Middle

Pode explicar as diferenças entre as coleções ArrayList e HashSet em Java?

sobes.tech IA

Resposta da IA

ArrayList e HashSet são implementações diferentes de coleções em Java, que têm características e propósitos distintos:

  • ArrayList:

    • Permite armazenar elementos na ordem em que são adicionados (coleção ordenada).
    • Permite duplicados.
    • Baseado em um array, fornece acesso rápido por índice (operação get).
    • Permite acessar elementos por índice.
  • HashSet:

    • Não garante a ordem dos elementos.
    • Não permite duplicados (cada elemento é único).
    • Baseado em uma tabela hash, fornece uma verificação rápida da presença de um elemento.
    • Não suporta acesso por índice.

Exemplo:

ArrayList<String> list = new ArrayList<>();
list.add("maçã");
list.add("maçã"); // duplicado permitido

HashSet<String> set = new HashSet<>();
set.add("maçã");
set.add("maçã"); // o segundo não será adicionado

Portanto, se precisar de uma coleção ordenada com possibilidade de duplicados — escolha ArrayList. Se a prioridade é a unicidade dos elementos e busca rápida — use HashSet.