Java - a classe HashSet

HashSet estende AbstractSet e implementa a interface Set. Ele cria uma coleção que usa uma tabela hash para armazenamento.

Uma tabela hash armazena informações usando um mecanismo chamado hashing. No hashing, o conteúdo informativo de uma chave é usado para determinar um valor único, chamado de código hash.

O código hash é então usado como o índice no qual os dados associados à chave são armazenados. A transformação da chave em seu código hash é realizada automaticamente.

A seguir está a lista de construtores fornecida pela classe HashSet.

Sr. Não. Construtor e descrição
1

HashSet( )

Este construtor constrói um HashSet padrão.

2

HashSet(Collection c)

Este construtor inicializa o conjunto de hash usando os elementos da coleção c.

3

HashSet(int capacity)

Este construtor inicializa a capacidade do conjunto hash para a capacidade de valor inteiro fornecido. A capacidade aumenta automaticamente conforme os elementos são adicionados ao HashSet.

4

HashSet(int capacity, float fillRatio)

Este construtor inicializa a capacidade e a taxa de preenchimento (também chamada de capacidade de carga) do conjunto de hash de seus argumentos.

Aqui, a proporção de preenchimento deve estar entre 0,0 e 1,0 e determina o quão cheio o conjunto de hash pode ser antes de ser redimensionado para cima. Especificamente, quando o número de elementos é maior que a capacidade do conjunto hash multiplicado por sua proporção de preenchimento, o conjunto hash é expandido.

Além dos métodos herdados de suas classes pai, HashSet define os seguintes métodos -

Sr. Não. Método e Descrição
1

boolean add(Object o)

Adiciona o elemento especificado a este conjunto, se ainda não estiver presente.

2

void clear()

Remove todos os elementos deste conjunto.

3

Object clone()

Retorna uma cópia superficial desta instância de HashSet: os próprios elementos não são clonados.

4

boolean contains(Object o)

Retorna verdadeiro se este conjunto contém o elemento especificado.

5

boolean isEmpty()

Retorna verdadeiro se este conjunto não contiver elementos.

6

Iterator iterator()

Retorna um iterador sobre os elementos neste conjunto.

7

boolean remove(Object o)

Remove o elemento especificado deste conjunto, se estiver presente.

8

int size()

Retorna o número de elementos neste conjunto (sua cardinalidade).

Exemplo

O programa a seguir ilustra vários dos métodos suportados pelo HashSet -

import java.util.*;
public class HashSetDemo {

   public static void main(String args[]) {
      // create a hash set
      HashSet hs = new HashSet();
      
      // add elements to the hash set
      hs.add("B");
      hs.add("A");
      hs.add("D");
      hs.add("E");
      hs.add("C");
      hs.add("F");
      System.out.println(hs);
   }
}

Isso produzirá o seguinte resultado -

Resultado

[A, B, C, D, E, F]