logo

Classe de dicionário em Java

Em Java, Dicionário é a lista de pares de valores-chave. Podemos armazenar, recuperar, remover, obter e colocar valores no dicionário usando a classe Java Dictionary. Nesta seção, discutiremos o Java Dicionário classe que armazena dados em pares de valores-chave, assim como a interface Map.

Classe de dicionário Java

Java Dicionário class é uma classe abstrata classe pai de qualquer classe. Isso pertence a java.util pacote. Sua subclasse direta conhecida é a Tabela hash aula. Assim como a classe Hashtable, ela também mapeia as chaves para valores. Observe que cada chave e valor é um objeto e qualquer objeto não nulo pode ser usado como chave e como valor. A hierarquia de classes do Dicionário é a seguinte:

Classe de dicionário em Java

Cada chave está associada a no máximo um valor, conforme mostrado na figura a seguir. Depois que o valor for armazenado em um objeto de dicionário, podemos recuperá-lo usando a chave.

Classe de dicionário em Java

Sintaxe:

 public abstract class Dictionary extends Object 

Nota: A classe está obsoleta. Portanto, implemente a interface do mapa em vez de estender a classe.

Construtor de classe de dicionário

A classe possui apenas um construtor chamado único construtor.

Sintaxe:

 public Dictionary() 

Métodos de classe de dicionário

Todos os métodos da classe Dictionary são abstrato . A tabela a seguir descreve os métodos.

Método Descrição
Elementos de enumeração abstratos públicos() Ele retorna uma enumeração dos valores neste dicionário. O objeto enum retornado gera todos os elementos contidos nas entradas deste dicionário.
público abstrato V get (chave do objeto) Ele retorna o valor para o qual a chave está mapeada neste dicionário. Ele analisa um objeto (chave) neste dicionário. Observe que se este dicionário contiver uma entrada para a chave especificada, o valor associado será retornado; caso contrário, null será retornado. Lança NullPointerException se a chave for nula.
público abstrato booleano isEmpty() O método verifica se este dicionário não mapeia chaves para valor. Ele retorna verdadeiro se e somente se este dicionário não contém entradas, caso contrário retorna falso.
chaves de enumeração abstratas públicas() Ele retorna uma enumeração das chaves neste dicionário. O objeto enum retornado gera todas as chaves para as quais este dicionário contém entradas.
público abstrato V put (chave K, valor V) O método é usado para inserir pares de valores-chave no dicionário. Ele mapeia a chave especificada para o valor especificado neste dicionário. Observe que nem a chave nem o valor podem ser nulos.
Se o dicionário já contiver uma entrada para a chave especificada, o valor já contido neste dicionário para essa chave será retornado, após a modificação da entrada para conter o novo elemento.
Se o dicionário ainda não tiver uma entrada para a chave especificada, uma entrada será criada para a chave e o valor especificados e será retornado nulo.
Ele analisa chave e valor como parâmetro. Ele lança NullPointerException se a chave ou valor for nulo.
público abstrato V remove (chave do objeto) O método analisa uma chave que queremos remover. Remove a chave e o valor associado. Observe que o método não faz nada se a chave não estiver no dicionário. Lança NullPointerException se a chave for nula.
tamanho interno abstrato público() Retorna o número de entradas (chaves distintas) neste dicionário.

Programas de dicionário Java

Uso do método Dictionary.put()

O método put() insere os elementos no dicionário. O programa a seguir demonstra o mesmo.

InsertElementExample.java

 import java.util.*; public class InsertElementExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(105, 'Lismore'); dict.put(106, 'Mount Gambier'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //prints keys and corresponding values System.out.println(dict); } } 

Saída:

 {108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney} 

Uso do método Dictionary.size()

O tamanho do dicionário é o número de elementos que o dicionário contém. No programa a seguir, o tamanho do dicionário é 6.

quantas semanas tem um mês

DicionárioSizeExample.java

 import java.util.*; public class DictionarySizeExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //prints the size of the dictionary System.out.println('The size of the dictionary is: '+dict.size()); } } 

Saída:

 The size of the dictionary is: 6 

Uso do método Dictionary.get()

Usando o método get(), podemos recuperar o valor de uma chave especificada.

DicionárioGetElement.java

 import java.util.*; public class DictionaryGetElement { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //gets the value of the specified key System.out.println('The value of the specified key is: '+dict.get(103)); } } 

Saída:

java switch int
 The value of the specified key is: Melbourne 

Uso do método Dictionary.isEmpty()

Retorna verdadeiro se o dicionário estiver vazio, caso contrário, retorna falso.

VazioCheckExample.java

 import java.util.*; public class EmptyCheckExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); //checks if the dictionary is empty or not System.out.println('Is the dictionary empty? 
'+dict.isEmpty()); } } 

Saída:

 Is the dictionary empty? false 

Uso do método Dictionary.remove()

O método remove a chave e o valor correspondente que analisamos no método. O valor removido é retornado pelo método.

RemoveElementExample.java

 import java.util.*; public class RemoveElementExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(108, 'Canberra'); dict.put(106, 'Mount Gambier'); dict.put(104, 'Perth'); dict.put(102, 'Brisbane'); //removes the corresponding value of the specified key System.out.println('The removed value is: '+dict.remove(106)); } } 

Saída:

 The removed value is: Mount Gambier 

Uso dos métodos elements() e key()

RemoveElementExample.java

 import java.util.*; public class IterateKeyAndValuesExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(105, 'Lismore'); dict.put(106, 'Mount Gambier'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); System.out.println('Dictionary values are: 
'); //loop iterate over the values stored in the dictionary for(Enumeration enm = dict.elements(); enm.hasMoreElements();) { //prints the value System.out.println(enm.nextElement()); } System.out.println('
Dictionary keys are: 
'); //loop iterate over the keys stored in the dictionary for(Enumeration enm = dict.keys(); enm.hasMoreElements();) { //prints the keys System.out.println(enm.nextElement()); } } } 

Saída:

 Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101 

Diferença entre a classe HashMap e Dicionário

O Java HashMap class e a classe Dictionary executam uma função semelhante. A única diferença é que HashMap implementa a interface do mapa enquanto a classe Dictionary não . De acordo com a documentação Java, a classe Dictionary não está mais em uso porque está desatualizada. Em vez da classe Dictionary, a classe HashMap é usada. Pois podemos dizer que HashMap é um tipo de dicionário.