Junior — Middle
Pode explicar o mecanismo de adição de elementos na estrutura de dados HashSet?
sobes.tech IA
Resposta da IA
HashSet em Java (e Android) é implementado com base em HashMap. Quando adiciona um elemento ao HashSet, o seguinte acontece:
- O código hash do elemento é calculado usando o método
hashCode(). - Com base no código hash, o índice da caixa (bucket) no array interno é determinado.
- Se já houver elementos na caixa, uma comparação com
equals()é feita para verificar se o elemento já existe (para evitar duplicados). - Se o elemento não existir, ele é adicionado à caixa.
Assim, o HashSet garante a unicidade dos elementos e acesso rápido por meio de hashing.
Exemplo de adição:
HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("apple"); // não será adicionado, pois "apple" já existe