V Javi, Slovar je seznam parov ključ-vrednost. Z uporabo razreda Java Dictionary lahko shranimo, pridobimo, odstranimo, pridobimo in vnesemo vrednosti v slovar. V tem razdelku bomo razpravljali o Java Slovar razred, ki shranjuje podatke v parih ključ-vrednost tako kot vmesnik Map.
Java Dictionary Class
Java Slovar razred je nadrejeni razred abstraktnega razreda katerega koli razreda. Pripada java.util paket. Njegov neposredni znani podrazred je Razpršitvena tabela razred. Tako kot razred Hashtable tudi preslika ključe v vrednosti. Upoštevajte, da sta vsak ključ in vrednost objekt in vsak objekt, ki ni nič, se lahko uporablja kot ključ in vrednost. Hierarhija razredov slovarja je naslednja:
Vsak ključ je povezan z največ eno vrednostjo, kot je prikazano na naslednji sliki. Ko je vrednost shranjena v slovarskem objektu, jo lahko pridobimo z uporabo ključa.
Sintaksa:
public abstract class Dictionary extends Object
Opomba: razred je zastarel. Torej implementirajte vmesnik zemljevida namesto razširitve razreda.
Konstruktor slovarskega razreda
Razred ima samo konstruktor, imenovan a podplat konstruktor.
Sintaksa:
public Dictionary()
Metode slovarskega razreda
Vse metode razreda Dictionary so povzetek . Naslednja tabela opisuje metode.
Metoda | Opis |
---|---|
javni povzetek Elementi naštevanja() | Vrne naštevanje vrednosti v tem slovarju. Vrnjeni objekt enum ustvari vse elemente, ki jih vsebujejo vnosi v tem slovarju. |
javni izvleček V get (predmetni ključ) | Vrne vrednost, v katero je preslikan ključ v tem slovarju. Razčleni predmet (ključ) v tem slovarju. Upoštevajte, da če ta slovar vsebuje vnos za navedeni ključ, je vrnjena povezana vrednost; drugače je vrnjena ničelna vrednost. Vrže NullPointerException, če je ključ nič. |
javni abstraktni logični isEmpty() | Metoda preveri, ali ta slovar ne preslika nobenega ključa v vrednost. Vrne true, če in samo če ta slovar ne vsebuje vnosov, drugače vrne false. |
javni abstraktni naštevalni ključi() | Vrne enum ključev v tem slovarju. Vrnjeni objekt enum ustvari vse ključe, za katere ta slovar vsebuje vnose. |
javni izvleček V postavi (ključ K, vrednost V) | Metoda se uporablja za vstavljanje para ključ-vrednost v slovar. Podani ključ preslika v podano vrednost v tem slovarju. Upoštevajte, da niti ključ niti vrednost ne moreta biti ničelna. Če slovar že vsebuje vnos za navedeni ključ, se vrne vrednost, ki je že v tem slovarju za ta ključ, po spremembi vnosa, da vsebuje nov element. Če slovar še nima vnosa za podani ključ, se ustvari vnos za podani ključ in vrednost, vrne pa se vrednost null. Razčleni ključ in vrednost kot parameter. Vrže NullPointerException, če je ključ ali vrednost ničelna. |
javni izvleček V odstrani (predmetni ključ) | Metoda razčleni ključ, ki ga želimo odstraniti. Odstrani ključ in povezano vrednost. Upoštevajte, da metoda ne naredi ničesar, če ključa ni v slovarju. Vrže NullPointerException, če je ključ nič. |
javni abstraktni int size() | Vrne število vnosov (ločnih ključev) v tem slovarju. |
Javanski slovarski programi
Uporaba metode Dictionary.put().
Metoda put() vstavi elemente v slovar. Naslednji program prikazuje isto.
glavna metoda java
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); } }
Izhod:
{108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney}
Uporaba metode Dictionary.size().
Velikost slovarja je število elementov, ki jih slovar vsebuje. V naslednjem programu je velikost slovarja 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()); } }
Izhod:
The size of the dictionary is: 6
Uporaba metode Dictionary.get().
Z uporabo metode get() lahko pridobimo vrednost določenega ključa.
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)); } }
Izhod:
The value of the specified key is: Melbourne
Uporaba metode Dictionary.isEmpty().
Če je slovar prazen, vrne true, sicer vrne false.
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()); } }
Izhod:
Is the dictionary empty? false
Uporaba metode Dictionary.remove().
Metoda odstrani ključ in ustrezno vrednost, ki smo jo razčlenili v metodi. Odstranjeno vrednost vrne metoda.
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)); } }
Izhod:
lokalni datum
The removed value is: Mount Gambier
Uporaba metod elements() in 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()); } } }
Izhod:
Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101
Razlika med HashMap in slovarskim razredom
Java HashMap razred in razred Slovar opravljata podobno funkcijo. Edina razlika je v tem HashMap implementira vmesnik zemljevida, medtem ko razred slovar ne . Glede na dokumentacijo Jave razred Dictionary ni več v uporabi, ker je zastarel. Namesto razreda Dictionary se uporablja razred HashMap. Ker lahko rečemo, da je HashMap vrsta slovarja.