I Java, Ordbog er listen over nøgleværdi-par. Vi kan gemme, hente, fjerne, hente og sætte værdier i ordbogen ved at bruge Java Dictionary-klassen. I dette afsnit vil vi diskutere Java Ordbog klasse, der gemmer data i nøgleværdi-par ligesom kortgrænsefladen.
Java ordbog klasse
Java Ordbog klasse er en abstrakt klasseforælderklasse for enhver klasse. Det hører til java.util pakke. Dens direkte kendte underklasse er Hastbar klasse. Ligesom Hashtable-klassen kortlægger den også nøglerne til værdier. Bemærk, at hver nøgle og værdi er et objekt, og ethvert ikke-nullobjekt kan bruges som en nøgle og som en værdi. Ordbogs klassehierarkiet er som følger:
Hver nøgle er forbundet med højst én værdi, som vist i den følgende figur. Når værdien er gemt i et ordbogsobjekt, kan vi hente den ved at bruge tasten.
Syntaks:
public abstract class Dictionary extends Object
Bemærk: Klassen er forældet. Så implementer kortgrænsefladen i stedet for at udvide klassen.
Ordbogsklassekonstruktør
Klassen har kun en konstruktør kaldet a eneste konstruktør.
Syntaks:
min flixer
public Dictionary()
Ordbogsklassemetoder
Alle metoderne i Ordbogsklassen er abstrakt . Følgende tabel beskriver metoderne.
Metode | Beskrivelse |
---|---|
offentligt abstrakt Optællingselementer() | Det returnerer en opregning af værdierne i denne ordbog. Det returnerede enum-objekt genererer alle de elementer, der er indeholdt i indgange i denne ordbog. |
offentlig abstrakt V get(Objektnøgle) | Det returnerer den værdi, som nøglen er knyttet til i denne ordbog. Den analyserer et objekt (nøgle) i denne ordbog. Bemærk, at hvis denne ordbog indeholder en post for den angivne nøgle, returneres den tilknyttede værdi; ellers returneres null. Det kaster NullPointerException, hvis nøglen er null. |
public abstract boolean isEmpty() | Metoden kontrollerer, om denne ordbog ikke knytter nogen nøgler til værdi. Det returnerer sandt, hvis og kun hvis denne ordbog ikke indeholder nogen poster, ellers returnerer den falsk. |
offentligt abstrakt Optællingsnøgler() | Det returnerer en oversigt over nøglerne i denne ordbog. Det returnerede enum-objekt genererer alle de nøgler, som denne ordbog indeholder poster til. |
offentlig abstrakt V put(K nøgle, V værdi) | Metoden bruges til at indsætte nøgle-værdi-par i ordbogen. Den knytter den angivne nøgle til den angivne værdi i denne ordbog. Bemærk, at hverken nøgle eller værdi kan være nul. Hvis ordbogen allerede indeholder en post for den angivne nøgle, returneres værdien, der allerede er i denne ordbog for den pågældende nøgle, efter ændring af posten til at indeholde det nye element. Hvis ordbogen ikke allerede har en post for den angivne nøgle, oprettes en post for den angivne nøgle og værdi, og null returneres. Den analyserer nøgle og værdi som en parameter. Det kaster NullPointerException, hvis nøglen eller værdien er null. |
offentlig abstrakt V fjern (objektnøgle) | Metoden analyserer en nøgle, som vi vil fjerne. Det fjerner nøglen og tilhørende værdi. Bemærk, at metoden ikke gør noget, hvis nøglen ikke er i ordbogen. Det kaster NullPointerException, hvis nøglen er null. |
offentlig abstrakt int størrelse() | Det returnerer antallet af indgange (særskilte nøgler) i denne ordbog. |
Java ordbog programmer
Brug af Dictionary.put()-metoden
Put()-metoden indsætter elementerne i ordbogen. Følgende program demonstrerer det samme.
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}
Brug af Dictionary.size()-metoden
Størrelsen på ordbogen er antallet af elementer, ordbogen indeholder. I det følgende program er ordbogens størrelse 6.
OrdbogStørrelseEksempel.java
java-strengen er tom
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
Brug af Dictionary.get()-metoden
Ved at bruge get() metoden kan vi hente værdien af en specificeret nøgle.
konverter streng til char java
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
Brug af Dictionary.isEmpty()-metoden
Den returnerer sand, hvis ordbogen er tom, ellers returnerer den falsk.
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
Brug af Dictionary.remove()-metoden
Metoden fjerner nøglen og tilsvarende værdi, som vi har parset i metoden. Den fjernede værdi returneres af 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
Brug af elementer() og key() metoder
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:
hvor mange byer USA
Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101
Forskellen mellem HashMap og Dictionary Class
Java HashMap klasse og Ordbog-klassen udfører begge en lignende funktion. Den eneste forskel er det HashMap implementerer kortgrænsefladen, mens klassen Ordbog ikke gør det . Ifølge Java-dokumentation er klassen Ordbog ikke længere i brug, fordi den er forældet. I stedet for Ordbog-klassen bruges HashMap-klassen. Da vi kan sige, at HashMap er en type ordbog.