logo

Classe de diccionari en Java

A Java, Diccionari és la llista de parells clau-valor. Podem emmagatzemar, recuperar, eliminar, obtenir i posar valors al diccionari mitjançant la classe Java Dictionary. En aquesta secció, parlarem de Java Diccionari classe que emmagatzema dades en parells clau-valor igual que la interfície Map.

Classe de diccionari de Java

Java Diccionari class és una classe abstracta classe pare de qualsevol classe. Pertany a java.util paquet. La seva subclasse coneguda directa és la Taula hash classe. Igual que la classe Hashtable, també assigna les claus als valors. Tingueu en compte que cada clau i valor és un objecte i qualsevol objecte no nul es pot utilitzar com a clau i com a valor. La jerarquia de classes del diccionari és la següent:

Classe de diccionari en Java

Cada clau està associada com a màxim a un valor, tal com es mostra a la figura següent. Un cop emmagatzemat el valor en un objecte diccionari, podem recuperar-lo mitjançant la clau.

Classe de diccionari en Java

Sintaxi:

 public abstract class Dictionary extends Object 

Nota: la classe està obsoleta. Per tant, implementeu la interfície del mapa en lloc d'ampliar la classe.

Constructor de classes de diccionari

La classe només té un constructor anomenat a sola constructor.

Sintaxi:

netejar la memòria cau npm
 public Dictionary() 

Diccionari de mètodes de classe

Tots els mètodes de la classe Dictionary són abstracte . La taula següent descriu els mètodes.

Mètode Descripció
resum públic Elements d'enumeració() Retorna una enumeració dels valors d'aquest diccionari. L'objecte enumeració retornat genera tots els elements continguts a les entrades d'aquest diccionari.
abstract public V get (clau d'objecte) Retorna el valor al qual s'assigna la clau en aquest diccionari. Analitza un objecte (clau) en aquest diccionari. Tingueu en compte que si aquest diccionari conté una entrada per a la clau especificada, es retorna el valor associat; en cas contrari, es retorna null. Llança NullPointerException si la clau és nul·la.
booleà abstracte públic isEmpty() El mètode comprova si aquest diccionari no assigna cap clau a valor. Retorna true si i només si aquest diccionari no conté entrades, en cas contrari retorna false.
claus d'enumeració abstractes públiques () Retorna una enumeració de les claus d'aquest diccionari. L'objecte enumeració retornat genera totes les claus per a les quals aquest diccionari conté entrades.
V put abstracte públic (clau K, valor V) El mètode s'utilitza per inserir la parella clau-valor al diccionari. Assigna la clau especificada al valor especificat en aquest diccionari. Tingueu en compte que ni la clau ni el valor poden ser nuls.
Si el diccionari ja conté una entrada per a la clau especificada, es retorna el valor que ja hi ha en aquest diccionari per a aquesta clau, després de modificar l'entrada perquè contingui l'element nou.
Si el diccionari encara no té una entrada per a la clau especificada, es crea una entrada per a la clau i el valor especificats i es retorna null.
Analitza la clau i el valor com a paràmetre. Llança NullPointerException si la clau o el valor és nul.
public abstract V remove (clau d'objecte) El mètode analitza una clau que volem eliminar. Elimina la clau i el valor associat. Tingueu en compte que el mètode no fa res si la clau no està al diccionari. Llança NullPointerException si la clau és nul·la.
mida int abstracta pública () Retorna el nombre d'entrades (claus diferents) en aquest diccionari.

Programes de diccionari de Java

Ús del mètode Dictionary.put().

El mètode put() insereix els elements al diccionari. El programa següent demostra el mateix.

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); } } 

Sortida:

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

Ús del mètode Dictionary.size().

La mida del diccionari és el nombre d'elements que conté el diccionari. Al programa següent, la mida del diccionari és 6.

DictionarySizeExample.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()); } } 

Sortida:

 The size of the dictionary is: 6 

Ús del mètode Dictionary.get().

Mitjançant el mètode get(), podem recuperar el valor d'una clau especificada.

DictionaryGetElement.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)); } } 

Sortida:

 The value of the specified key is: Melbourne 

Ús del mètode Dictionary.isEmpty().

Retorna true si el diccionari està buit, en cas contrari retorna false.

EmptyCheckExample.java

desviació estàndard dels pandas
 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()); } } 

Sortida:

 Is the dictionary empty? false 

Ús del mètode Dictionary.remove().

El mètode elimina la clau i el valor corresponent que hem analitzat al mètode. El mètode retorna el valor eliminat.

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)); } } 

Sortida:

 The removed value is: Mount Gambier 

Ús dels mètodes elements() i 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()); } } } 

Sortida:

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

Diferència entre la classe HashMap i el diccionari

El Java HashMap class i la classe Dictionary fan una funció similar. L'única diferència és que HashMap implementa la interfície de mapa mentre que la classe Dictionary no . Segons la documentació de Java, la classe Dictionary ja no s'utilitza perquè està obsoleta. En lloc de la classe Dictionary, s'utilitza la classe HashMap. Ja que podem dir que HashMap és un tipus de diccionari.