HOWTO · Java
Dicionário Java
Este artigo apresenta como usar o dicionário em 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:
- Todas as chaves presentes no
Mapsão únicas. - Pode haver uma chave exclusiva correspondente a um ou mais valores.
- 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:
HashMapLinkedHashMapHashtable
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