Introdução ao HashMap em Java
Em Java, você pode usar a matriz para armazenar dados, mas sempre que houver um requisito para armazenar ou recuperar dados de maneira chave e de valor, é necessário usar o HashMap para isso. Hashmap é uma coleção em Java que pertence à hierarquia da interface chamada Map. Neste artigo, discutiremos o Hashmap da perspectiva da programação Java.
Sintaxe:
Para usar o HashMap no seu código, você deve importar (importar o pacote java.util.HashMap) ou sua classe pai.
import java.util.HashMap;
import java.util.Map;
HashMap =new HashMap ();
Onde datatypeOfkey e dataytpeOfValue podem ser Inteiro ou String.
Exemplo:
Map newHashMap = new HashMap();
Como o HashMap funciona em Java?
O Hashmap usa técnicas de hash para armazenar e recuperar elementos. Para armazenamento, ele usa uma lista vinculada, chamada de buckets. Ele usa dois métodos na chave: equals () e hashCode () para operações de inserção e recuperação. Durante a inserção, o hashCode determina o depósito para armazenamento. Depois disso, novamente o hashCode verifica se já existe uma chave com o mesmo hashCode; se sim, o valor é substituído pelo novo. Caso contrário, o novo mapa será criado no qual o valor será armazenado. Durante a recuperação de dados, o hashCode determina o intervalo para pesquisa. Depois disso, usando hashCode () e equals (), obtém o valor e o retorna. Retorna nulo caso nenhum valor esteja presente.
Construtor HashMap em Java
Possui quatro construtores, conforme mencionado abaixo.
- HashMap (): é o padrão com fator de carga 0, 75 e capacidade 16.
- HashMap (int): cria o HashMap com a capacidade definida em seus argumentos. O fator de carga é o padrão aqui.
- HashMap (int, float): cria o HashMap com a capacidade e o fator de carga definidos em seus argumentos.
- HashMap (Mapa m): cria o HashMap conforme definido no mapa de argumentos.
Os 13 principais métodos do HashMap em Java
Todos os métodos abaixo discutidos aqui podem ser usados independentemente de qualquer versão do Java.
- public value get (Object key): Usado para obter o valor da chave correspondente.
- valor público colocado (chave K, valor V): Insere o valor mencionado no argumento da chave correspondente.
- public boolean containsKey (Object key): Decisão sobre se a chave está presente ou não, observe que o tipo de retorno é Boolean.
- public boolean containsValue (Object value): Decisão sobre se o valor está presente ou não, observe que o tipo de retorno é Boolean.
- remove pública V (chave do objeto): limpa uma chave específica e seu HashMap em forma de valor, conforme especificado no código.
- public void clear (): limpa todas as chaves e valores do HashMap, conforme mencionado.
- public boolean isEmpty (): verifica se o HashMap está vazio ou não.
- Objeto clone (): os mapeamentos de um HashMap são retornados por este método que podemos usar para fins de clonagem em outro HashMap.
- public int size (): retorna o tamanho, significa, quantos pares de valores-chave estão presentes em um HashMap.
- Conjunto público
entrySet (): o conjunto de mapeamento no HashMap é retornado por esse método. - public Set keySet () : o conjunto de chaves presente no HashMap é retornado por esse método.
- public void putAll (Map): copia todo o conteúdo do mapa para o outro.
- Valores da coleção (): você pode obter uma coleção de todos os valores para um HashMap.
Exemplos de HashMap em Java
HashMap é uma classe de coleção baseada em mapa usada para armazenar pares de chave e valor. Vejamos alguns exemplos.
Exemplo 1
Discutiremos alguns exemplos de código do HashMap aqui. Você deve praticar códigos escrevendo-se e executar no compilador java para verificar a saída. Você pode combinar a saída com a fornecida para verificação. Criação de HashMap e inserção de dados nele.
Código:
import java.util.HashMap;
import java.util.Map;
public class CreateHashMapExample (
public static void main(String() args) (
// Creating a HashMap
Map newHashMap = new HashMap();
// Addition of key and value
newHashMap.put("Key1", "Java");
newHashMap.put("Key2", "C++");
newHashMap.put("Key3", "Python");
// Addition of new key and value
newHashMap.putIfAbsent("Key4", "Ruby");
System.out.println(newHashMap);
)
)
Resultado:
Exemplo 2
Vamos dar outro exemplo em que pegamos string como chave e número inteiro como valor. Aqui vamos medir a chave e seus valores correspondentes em polegadas como valor.
Código:
import java.util.HashMap;
public class CreateHashMapExample2 (
public static void main(String() args) (
// Create a HashMap object called measurement
HashMap ms = new HashMap();
// Add keys and values (Name and phone number of the person)
ms.put("S", 35);
ms.put("M", 38);
ms.put("L", 40);
ms.put("XL", 42);
for (String key : ms.keySet()) (
System.out.println("measurement of " + key + " in inch is: " + ms.get(key));
)
)
)
Resultado:
Exemplo 3
Aqui vamos fazer várias coisas. Primeiro criaremos um Hashmap e, em seguida, obteremos seus valores um por um. Depois disso, copiaremos todos os dados do HashMap para um novo HashMap. Depois disso, removeremos um item e obteremos seus tamanhos. Se o tamanho for menor em um, a diminuição do tamanho por remoção é confirmada.
Código:
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class HashMapInJava (
public static void main(String() args) (
Map newHashMap = new HashMap();
// Addition of key and value
newHashMap.put("Key1", "Lenovo");
newHashMap.put("Key2", "Motorola");
newHashMap.put("Key3", "Nokia");
newHashMap.put("Key4", null);
newHashMap.put(null, "Sony");
System.out.println("Original map contains:" + newHashMap);
//getting size of Hashmap
System.out.println("Size of original Map is:" + newHashMap.size());
//copy contains of one Hashmap to another
Map copyHashMap = new HashMap();
copyHashMap.putAll(newHashMap);
System.out.println("copyHashMap mappings= " + copyHashMap);
//Removal of null key
String nullKeyValue = copyHashMap.remove(null);
System.out.println("copyHashMap null key value = " + nullKeyValue);
System.out.println("copyHashMap after removing null key = " + copyHashMap);
System.out.println("Size of copyHashMap is:" + copyHashMap.size());
)
)
Resultado:
Você notou uma coisa na saída do HashMap em todos os nossos exemplos, enquanto imprimimos a chave e os valores? A impressão não está na ordem de classificação. O Hashmap não é como uma matriz, de modo que a digitalização e a impressão precisam ser classificadas; ele pode escolher aleatoriamente com base no valor de hash obtido.
Conclusão
Você deve usar o HashMap quando seu código ou caso de uso exigir o tratamento de dados em pares de chave-valor. Neste artigo, aprendemos sobre hashmaps em Java com exemplos de código. Você deve praticar a escrita de códigos por conta própria para dominar este tópico.
Artigo recomendado
Este é um guia para o HashMap em Java. Aqui discutimos Introdução ao HashMap em Java e seus métodos, juntamente com a implementação e saída de código. Você também pode consultar nossos artigos sugeridos para saber mais -
- Introdução aos quadros HTML
- Os 11 principais atributos HTML
- Aplicações de HTML | 10 principais usos
- As 10 melhores diferenças entre HTML e HTML5 (infográficos)