I Java, Lexikon är listan över nyckel-värdepar. Vi kan lagra, hämta, ta bort, hämta och lägga in värden i ordboken genom att använda klassen Java Dictionary. I det här avsnittet kommer vi att diskutera Java Lexikon klass som lagrar data i nyckel-värdepar precis som kartgränssnittet.
Java ordbok klass
Java Lexikon klass är en abstrakt klassförälderklass för vilken klass som helst. Den tillhör java.util paket. Dess direkt kända underklass är Hastbar klass. Liksom Hashtable-klassen, mappar den också nycklarna till värden. Observera att varje nyckel och värde är ett objekt och alla icke-nullobjekt kan användas som en nyckel och som ett värde. Ordbokens klasshierarki är som följer:
Varje nyckel är associerad med högst ett värde, som visas i följande figur. När värdet är lagrat i ett ordboksobjekt kan vi hämta det genom att använda nyckeln.
Syntax:
public abstract class Dictionary extends Object
Obs: Klassen är föråldrad. Så implementera kartgränssnittet istället för att utöka klassen.
Ordboksklasskonstruktör
Klassen har bara en konstruktor som kallas a enda konstruktör.
Syntax:
public Dictionary()
Ordbok Klassmetoder
Alla metoder i klassen Ordbok är abstrakt . Följande tabell beskriver metoderna.
Metod | Beskrivning |
---|---|
public abstract Uppräkningselement() | Den returnerar en uppräkning av värdena i denna ordbok. Det returnerade enum-objektet genererar alla element som finns i poster i denna ordbok. |
public abstract V get(Objektnyckel) | Den returnerar värdet som nyckeln är mappad till i denna ordbok. Den analyserar ett objekt (nyckel) i denna ordbok. Observera att om denna ordbok innehåller en post för den angivna nyckeln, returneras det associerade värdet; annars returneras null. Den kastar NullPointerException om nyckeln är null. |
public abstract boolean isEmpty() | Metoden kontrollerar om denna ordbok inte mappar några nycklar till värde. Den returnerar sant om och endast om denna ordbok inte innehåller några poster, annars returnerar den falskt. |
public abstract Uppräkningsnycklar() | Den returnerar en uppräkning av nycklarna i denna ordbok. Det returnerade enum-objektet genererar alla nycklar för vilka denna ordbok innehåller poster. |
public abstract V put(K-nyckel, V-värde) | Metoden används för att infoga nyckel-värdepar i ordboken. Den mappar den angivna nyckeln till det angivna värdet i denna ordbok. Observera att varken nyckel eller värde kan vara null. Om ordlistan redan innehåller en post för den angivna nyckeln, returneras värdet som redan finns i denna ordbok för den nyckeln, efter att posten har ändrats så att den innehåller det nya elementet. Om ordboken inte redan har en post för den angivna nyckeln, skapas en post för den angivna nyckeln och värdet, och null returneras. Den analyserar nyckel och värde som en parameter. Den kastar NullPointerException om nyckeln eller värdet är null. |
public abstract V remove(Objektnyckel) | Metoden analyserar en nyckel som vi vill ta bort. Det tar bort nyckeln och tillhörande värde. Observera att metoden inte gör något om nyckeln inte finns i ordboken. Den kastar NullPointerException om nyckeln är null. |
public abstract int size() | Den returnerar antalet poster (särskilda nycklar) i denna ordbok. |
Java-ordboksprogram
Användning av Dictionary.put()-metoden
Metoden put() infogar elementen i ordboken. Följande program visar detsamma.
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); } }
Produktion:
{108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney}
Användning av Dictionary.size()-metoden
Storleken på ordboken är antalet element som ordboken innehåller. I följande program är storleken på ordboken 6.
alfabet och siffror
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()); } }
Produktion:
The size of the dictionary is: 6
Användning av Dictionary.get()-metoden
Genom att använda metoden get() kan vi hämta värdet på en angiven nyckel.
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)); } }
Produktion:
The value of the specified key is: Melbourne
Användning av Dictionary.isEmpty()-metoden
Den returnerar sant om ordboken är tom, annars returnerar den falskt.
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()); } }
Produktion:
Is the dictionary empty? false
Användning av Dictionary.remove()-metoden
Metoden tar bort nyckeln och motsvarande värde som vi har analyserat i metoden. Det borttagna värdet returneras av metoden.
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)); } }
Produktion:
The removed value is: Mount Gambier
Användning av metoderna element() och 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()); } } }
Produktion:
Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101
Skillnaden mellan HashMap och Dictionary Class
Java HashMap klassen och klassen Dictionary har båda en liknande funktion. Den enda skillnaden är det HashMap implementerar kartgränssnittet medan klassen Dictionary inte gör det . Enligt Java-dokumentation används inte klassen Dictionary längre eftersom den är föråldrad. Istället för klassen Dictionary används klassen HashMap. Eftersom vi kan säga att HashMap är en typ av ordbok.