Op Java, Woordenboek is de lijst met sleutel-waardeparen. We kunnen waarden in het woordenboek opslaan, ophalen, verwijderen, ophalen en plaatsen met behulp van de Java Dictionary-klasse. In deze sectie bespreken we de Java Woordenboek klasse die gegevens opslaat in sleutel-waardeparen, net als de kaartinterface.
Java-woordenboekklasse
Java Woordenboek klasse is een abstracte klassenouderklasse van elke klasse. Het is van java.util pakket. De direct bekende subklasse is de Hashtabel klas. Net als de Hashtable-klasse wijst het ook de sleutels toe aan waarden. Houd er rekening mee dat elke sleutel en waarde een object is en dat elk niet-null-object als sleutel en als waarde kan worden gebruikt. De hiërarchie van de Dictionary-klasse is als volgt:
Elke sleutel is gekoppeld aan maximaal één waarde, zoals weergegeven in de volgende afbeelding. Zodra de waarde in een woordenboekobject is opgeslagen, kunnen we deze ophalen met behulp van de sleutel.
Syntaxis:
public abstract class Dictionary extends Object
Opmerking: de klasse is verouderd. Implementeer dus de kaartinterface in plaats van de klasse uit te breiden.
Constructor van woordenboekklasse
De klasse heeft alleen een constructor genaamd a zool bouwer.
Syntaxis:
public Dictionary()
Woordenboekklassemethoden
Alle methoden van de klasse Dictionary zijn dat abstract . In de volgende tabel worden de methoden beschreven.
Methode | Beschrijving |
---|---|
openbare samenvatting Opsommingselementen() | Het retourneert een opsomming van de waarden in dit woordenboek. Het geretourneerde enum-object genereert alle elementen in de vermeldingen in dit woordenboek. |
openbare samenvatting V get (Objectsleutel) | Het retourneert de waarde waaraan de sleutel in dit woordenboek is toegewezen. Het ontleedt een object (sleutel) in dit woordenboek. Houd er rekening mee dat als dit woordenboek een vermelding voor de opgegeven sleutel bevat, de bijbehorende waarde wordt geretourneerd; anders wordt null geretourneerd. Er wordt NullPointerException gegenereerd als de sleutel nul is. |
openbare samenvatting boolean isEmpty() | De methode controleert of dit woordenboek geen sleutels aan waarde toewijst. Het retourneert waar als en slechts als dit woordenboek geen vermeldingen bevat; anders wordt onwaar geretourneerd. |
openbare samenvatting Opsommingssleutels() | Het retourneert een opsomming van de sleutels in dit woordenboek. Het geretourneerde enum-object genereert alle sleutels waarvoor dit woordenboek vermeldingen bevat. |
openbare samenvatting V put (K-sleutel, V-waarde) | De methode wordt gebruikt om het sleutel-waardepaar in het woordenboek in te voegen. Het wijst de opgegeven sleutel toe aan de opgegeven waarde in dit woordenboek. Houd er rekening mee dat noch de sleutel, noch de waarde nul kunnen zijn. Als het woordenboek al een item voor de opgegeven sleutel bevat, wordt de waarde die al in dit woordenboek voor die sleutel staat geretourneerd, nadat het item is gewijzigd zodat het het nieuwe element bevat. Als het woordenboek nog geen vermelding voor de opgegeven sleutel bevat, wordt er een vermelding gemaakt voor de opgegeven sleutel en waarde, en wordt null geretourneerd. Het ontleedt sleutel en waarde als parameter. Er wordt NullPointerException gegenereerd als de sleutel of waarde null is. |
openbare samenvatting V verwijderen (Objectsleutel) | De methode parseert een sleutel die we willen verwijderen. Het verwijdert de sleutel en de bijbehorende waarde. Merk op dat de methode niets doet als de sleutel niet in het woordenboek staat. Er wordt NullPointerException gegenereerd als de sleutel nul is. |
openbare samenvatting int size() | Het retourneert het aantal vermeldingen (verschillende sleutels) in dit woordenboek. |
Java-woordenboekprogramma's
Gebruik van de Dictionary.put()-methode
De methode put() voegt de elementen in het woordenboek in. Het volgende programma demonstreert hetzelfde.
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); } }
Uitgang:
{108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney}
Gebruik van de Dictionary.size()-methode
De grootte van het woordenboek is het aantal elementen dat het woordenboek bevat. In het volgende programma is de grootte van het woordenboek 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()); } }
Uitgang:
The size of the dictionary is: 6
Gebruik van de Dictionary.get()-methode
Door de methode get() te gebruiken, kunnen we de waarde van een opgegeven sleutel ophalen.
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)); } }
Uitgang:
int om Java te stringen
The value of the specified key is: Melbourne
Gebruik van de Dictionary.isEmpty()-methode
Het retourneert waar als het woordenboek leeg is, anders retourneert het onwaar.
EmptyCheckExample.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()); } }
Uitgang:
Is the dictionary empty? false
Gebruik van de Dictionary.remove()-methode
De methode verwijdert de sleutel en de bijbehorende waarde die we in de methode hebben geparseerd. De verwijderde waarde wordt door de methode geretourneerd.
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)); } }
Uitgang:
The removed value is: Mount Gambier
Gebruik van elementen() en key() methoden
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()); } } }
Uitgang:
Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101
Verschil tussen de HashMap- en Dictionary-klasse
De Java Hash kaart class en de klasse Dictionary voeren beide een vergelijkbare functie uit. Het enige verschil is dat HashMap implementeert de kaartinterface, terwijl de klasse Dictionary dat niet doet . Volgens Java-documentatie wordt de klasse Dictionary niet meer gebruikt omdat deze verouderd is. In plaats van de klasse Dictionary wordt de klasse HashMap gebruikt. Omdat we kunnen zeggen dat HashMap een soort woordenboek is.