Java Hashset

Java Hashset

Em Java, um hashset é um conjunto. Enquanto um conjunto seria um conjunto de números inteiros, ou de carros alegóricos ou strings, etc., O hashset seria um conjunto de pares. No Java apropriado, um par é um entradas de mapa que pode ser criado independentemente da estrutura de dados do tipo mapa de destino. Um mapa de entrada ou par é código com uma chave e seu valor correspondente. A chave é realmente hash em um índice de matriz para o valor.

A seguir, é apresentado um exemplo de dados de pares de chave/valor em que uma chave é um nome de fruta e o valor correspondente é a cor externa da fruta:

maracujá => roxo
melancia => verde
pêssego => amarelo escuro
Papaya => laranja
manga => amarelo

Este artigo fornece conhecimento básico do hashset java, começando com a criação de um par (entrada de mapa).

Criando uma entrada de mapa

Uma sintaxe para criar uma entrada de mapa (par) é:

Public SimpleEntry (K Key, V Valor)

Isso é do abstrataMap.Classe Simpleentry, do pacote, Java.util.*, que deve ser importado. K é o tipo de chave, que neste caso é uma string. V é o tipo de valor, que neste caso, ainda é uma string.

O segmento de código a seguir cria cinco pares:

AbstractMap.Simpleentry par1 = novo abstractmap.Simpleentry("maracujá", "roxo");
AbstractMap.Simpleentry par2 = novo abstractmap.Simpleentry("melancia", "verde");
AbstractMap.Simpleentry par3 = novo abstractmap.Simpleentry("pêssego", "amarelo escuro");
AbstractMap.Simpleentry par4 = novo abstractmap.Simpleentry("Papaya", "Orange");
AbstractMap.Simpleentry par5 = novo abstractmap.Simpleentry("manga", "amarelo");

Esses cinco pares podem formar cinco elementos de um hashset.

Construindo um hashset

Existem quatro construtores sobrecarregados para o hashset, mas apenas dois são ilustrados neste artigo.

Hashset público ()

Isso cria um hashset vazio. Um hashset vazio para os pares acima pode ser criado da seguinte maneira:

Hashset> hs = novo hashset> ();
Hashset público (coleção c)

Isso leva outro hashset como argumento para criar um novo hashset. Uma declaração de código de exemplo de um hashset criado a partir de outro hashset é:

Hashset> hsb = novo hashset> (HS);

onde hs é um hashset já criado.

A classe Hashset também está no Java.util.* pacote, que deve ser importado.

Métodos do hashset

Métodos comumente usados ​​da classe Hashset são explicados nesta seção.

public boolean add (e e)

Isso adiciona um novo par (elemento) ao hashset. Ele retorna true se esse conjunto ainda não continha o elemento especificado; falso caso contrário. O seguinte segmento de código adiciona os cinco elementos acima (pares) ao hashset, HS:

Hashset> hs = novo hashset> ();
hs.add (par1); hs.add (par2); hs.add (par3); hs.add (par4); hs.add (par5);

Public int size ()

Isso retorna o número de pares (elementos) no conjunto. Exemplo:

int sz = hs.tamanho();
Sistema.fora.println (sz);

Para este código, o valor de retorno seria 5.

iterator público iterator ()

Um iterador é um objeto que pode ser usado para acessar todos os elementos de um conjunto (ou lista), um por um. A declaração a seguir retorna um iterador do hashset acima:

Iterador> iter = hs.iterator ();

O iterador tem o método,

E seguinte ()

Este método do iterador retorna o próximo elemento que inicia a partir do primeiro, no conjunto (ou lista). Os elementos retornados não estão necessariamente na ordem em que foram adicionados. Para retornar o próximo elemento do hashset acima, a seguinte declaração pode ser usada:

AbstractMap.Simpleentry par = iter.próximo();

À esquerda do operador de tarefas, está um nome decidido por um par para um par (entrada de mapa), par, precedido pelo tipo de par. À direita, está o iterador, obtido acima, seguido pelo método, próximo (). Depois de devolver o par, os métodos da lista podem ser usados ​​para lidar com o par.

O Classe AbstractMap.Simpleentry, para o par, tem o método, ToString (). Este método retorna a chave e o valor em forma de string. O segmento de código a seguir, imprime todos os pares de chave/valor do hashset acima usando o iterador:

para (int i = 0; iAbstractMap.Simpleentry par = iter.próximo();
Sistema.fora.println (par.para sequenciar());

A saída é:

Mamão = laranja
pêssego = amarelo escuro
manga = amarelo
melancia = verde
maracujá = roxo

O método separa a chave do valor com =.

Remova pública booleana (objeto O)

Isso remove um elemento (par) que o programador já sabe, deve estar presente, no hashset. Retorna verdadeira, se uma mudança ocorrer; e falso caso contrário. Tanto a iteração quanto as classes de hashset têm esse método (um pouco diferente). O seguinte segmento de código acessa todos os elementos no hashset e remove “melancia = verde”.

para (int i = 0; iAbstractMap.Simpleentry par = iter.próximo();
String str = par.para sequenciar();
if (str.igual ("melancia = verde")))
iter.remover();

Sistema.fora.println (hs.tamanho());

A saída é 4. O método remove () do iterador e não o do hashset foi usado. O par (elemento) que o iterador estava apontando foi removido.

public void Clear ()

Isso remove todos os elementos do hashset. O seguinte segmento de código ilustra o seguinte:

hs.claro();
Sistema.fora.println (hs.tamanho());

A saída é 0.

público booleano isempty ()

Retorna true, se o hashset não contiver elemento, e false caso contrário. O código a seguir ilustra isso para um conjunto não vazio:

booleano BL = HS.está vazia();
Sistema.fora.println (bl);

A saída é falsa.

Booleano contém (objeto O)

Isso retorna verdadeiro, se o hashset contiver o elemento indicado (par); e falso caso contrário. O segmento de código a seguir ilustra isso para um hashset que já possui elementos:

AbstractMap.Simpleentry parc = new AbstractMap.Simpleentry("pêssego", "amarelo escuro");
booleano BL = HS.contém (parc);
Sistema.fora.println (bl);

Para o hashset acima, a saída é verdadeira.

Conclusão

O hashset em java é um conjunto. No entanto, difere de um conjunto normal, nisso, seus elementos devem ser pares. Um par é um código de elemento, que tem uma chave e seu valor correspondente. A chave é hash de um índice de matriz para o valor. A declaração a seguir criaria um hashset vazio:

Hashset> hs = novo hashset> ();

HS é o nome do hashset.

Em Java apropriado, um par é uma entrada de mapa. A seguinte declaração criaria um mapa-entrada:

AbstractMap.Simpleentry par1 = novo abstractmap.Simpleentry("maracujá", "roxo");

O tipo de chave aqui é uma string e o tipo de valor aqui, também é uma string.

A classe Java Hashset tem alguns métodos úteis que foram explicados acima.