Dicionário Java

Rashmi Patidar 12 outubro 2023
Dicionário Java

Na linguagem Java, o Dicionário é representado usando uma estrutura de dados chamada interface Map. A estrutura de dados Map é usada para apresentar dados em pares chave-valor. O Map é uma interface que mantém o controle de todas as chaves e os valores correspondentes. Um usuário pode recuperar o valor com base em uma chave exclusiva. A interface Map contém as seguintes propriedades:

  1. Todas as chaves presentes no Map são únicas.
  2. Pode haver uma chave exclusiva correspondente a um ou mais valores.
  3. Chaves são as entidades que não são nulas.

Abaixo está o bloco de código que demonstra o uso de um dicionário ou Map na linguagem Java.

import java.util.HashMap;
import java.util.Map;

public class Dictionary {
  public static void main(String[] args) {
    System.out.println("Dictionary in Java");
    System.out.println("Using HashMap ");
    Map<String, String> map = new HashMap<>();
    map.put("1", "Letters with alphabetical Order with key A");
    map.put("2", "Letters with alphabetical Order with key B");
    System.out.println(map.get("2"));
  }
}

O Map é uma interface presente separadamente, à parte da hierarquia do framework Coleção.

O Map está presente no pacote java.util e mostra como uma chave é mapeada para os valores. Pode haver várias implementações em um mapa, que são:

  1. HashMap
  2. LinkedHashMap
  3. Hashtable

O uso de cada um pode variar de acordo com as necessidades dos usuários para a implementação.

No trecho de código acima, a implementação HashMap é usada. É a classe padrão e amplamente usada na linguagem Java. A diferença entre os três tipos é definida a seguir.

HashMap é introduzido na versão Java 1.2, enquanto Hashtable é uma classe legada. É thread-safe e, portanto, operações simultâneas são permitidas entre vários threads, mantendo a consistência no código. Mas o HashMap não é seguro para thread e não permite concorrência.

Devido à natureza thread-safe de HashMap, é mais rápido em desempenho do que Hashtable. Além disso, HashMap é rápido para falhas e lança ConcurrencyException quando sua instância é manipulada por vários encadeamentos ao mesmo tempo. Em contraste, Hashtable parece à prova de falhas. O caso de uso de LinkedHashMap reside quando um usuário deseja salvar o pedido de inserção.

A instância Map é criada usando a classe HashMap no bloco de código acima. As operações como get e put são usadas para armazenar e recuperar os valores específicos da instância. O método put leva dois parâmetros que são a chave e seu valor.

Internamente, a chave é avaliada primeiro se estiver presente no objeto de mapa usando a função containsKey(). Se for verdadeiro, o valor atual da chave será substituído pelo novo valor. O método lança UnsupportedOperationException se a operação definida não for suportada pelo Map com a chave fornecida.

A ClassCastException se a chave ou o valor impede que a chave seja armazenada, NullPointerException se a chave ou o valor especificado for null e o Map não permite chaves ou valores null. IllegalArgumentException se alguma propriedade da chave ou valor impedir que seja armazenado no Map.

Uma vez que a chave é inserida no Map, ela é recuperada usando a função get. A função get leva um único parâmetro que é a chave exclusiva. Ele lança ClassCastException e NullPointerException quando a chave é inadequada ou se a chave especificada é nula.

Abaixo está a saída da interface do mapa usando a classe HashMap.

Dictionary in Java Using HashMap Letters with alphabetical Order with key B
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn