Java, Žodynas yra raktų ir reikšmių porų sąrašas. Mes galime saugoti, gauti, pašalinti, gauti ir įdėti reikšmes į žodyną naudodami Java Dictionary klasę. Šiame skyriuje aptarsime Java Žodynas klasė, kuri saugo duomenis raktų ir reikšmių poromis, kaip ir žemėlapio sąsaja.
javatpoint java
Java žodyno klasė
Java Žodynas klasė yra abstrakčios klasės pirminė bet kurios klasės klasė. Tai priklauso java.util paketą. Tiesiogiai žinomas jo poklasis yra Hashtable klasė. Kaip ir Hashtable klasė, ji taip pat susieja verčių raktus. Atminkite, kad kiekvienas raktas ir reikšmė yra objektas, o bet koks nenulinis objektas gali būti naudojamas kaip raktas ir kaip reikšmė. Žodyno klasių hierarchija yra tokia:
Kiekvienas raktas yra susietas su daugiausia viena reikšme, kaip parodyta toliau pateiktame paveikslėlyje. Kai reikšmė išsaugoma žodyno objekte, galime ją gauti naudodami raktą.
Sintaksė:
public abstract class Dictionary extends Object
Pastaba: klasė yra pasenusi. Taigi, įdiekite žemėlapio sąsają, o ne pratęskite klasę.
Žodyno klasės konstruktorius
Klasėje yra tik konstruktorius, vadinamas a padas konstruktorius.
Sintaksė:
public Dictionary()
Žodyno klasės metodai
Visi žodyno klasės metodai yra abstrakčiai . Toliau pateiktoje lentelėje aprašomi metodai.
Metodas | apibūdinimas |
---|---|
vieša santrauka Sąrašo elementai() | Jis pateikia šio žodyno reikšmių sąrašą. Grąžintas enum objektas sugeneruoja visus šio žodyno įrašuose esančius elementus. |
viešas abstraktus V gauti (objekto raktas) | Jis grąžina reikšmę, su kuria šiame žodyne susietas raktas. Jis analizuoja objektą (raktą) šiame žodyne. Atkreipkite dėmesį, kad jei šiame žodyne yra nurodyto rakto įrašas, grąžinama susijusi reikšmė; kitu atveju grąžinamas nulis. Jis išmeta NullPointerException, jei raktas yra nulinis. |
vieša abstrakti loginė vertė yra tuščia() | Metodas patikrina, ar šiame žodyne nėra reikšmės raktų. Grąžina tiesa tada ir tik tada, kai šiame žodyne nėra įrašų, kitu atveju grąžinama false. |
vieša santrauka Surašymo raktai() | Jis grąžina šio žodyno raktų skaičių. Grąžintas enum objektas sugeneruoja visus raktus, kurių šiame žodyne yra įrašų. |
viešas abstraktus V put(K raktas, V reikšmė) | Metodas naudojamas rakto-reikšmių porai įterpti į žodyną. Jis susieja nurodytą raktą su nurodyta verte šiame žodyne. Atminkite, kad nei raktas, nei reikšmė negali būti nulinės. Jei žodyne jau yra nurodyto rakto įrašas, pakeitus įrašą įtraukiant naują elementą, grąžinama šiame žodyne jau esanti to rakto reikšmė. Jei žodyne dar nėra nurodyto rakto įrašo, sukuriamas nurodyto rakto ir reikšmės įrašas ir grąžinamas nulis. Jis analizuoja raktą ir vertę kaip parametrą. Jis išmeta NullPointerException, jei raktas arba reikšmė yra nulinė. |
viešas abstraktus V pašalinti (objekto raktas) | Metodas analizuoja raktą, kurį norime pašalinti. Tai pašalina raktą ir susijusią vertę. Atminkite, kad metodas nieko nedaro, jei rakto nėra žodyne. Jis išmeta NullPointerException, jei raktas yra nulinis. |
viešas abstraktus int dydis() | Jis grąžina šio žodyno įrašų (skirtingų raktų) skaičių. |
Java žodyno programos
Dictionary.put() metodo naudojimas
Metodas put() įterpia elementus į žodyną. Toliau pateikta programa parodo tą patį.
ĮterptiElementExample.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); } }
Išvestis:
{108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney}
Dictionary.size() metodo naudojimas
Žodyno dydis – tai žodyne esančių elementų skaičius. Šioje programoje žodyno dydis yra 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()); } }
Išvestis:
The size of the dictionary is: 6
Dictionary.get() metodo naudojimas
Naudodami get() metodą, galime gauti nurodyto rakto reikšmę.
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)); } }
Išvestis:
The value of the specified key is: Melbourne
Dictionary.isEmpty() metodo naudojimas
Grąžina tiesa, jei žodynas tuščias, kitu atveju grąžina 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()); } }
Išvestis:
Is the dictionary empty? false
Žodyno.remove() metodo naudojimas
Metodas pašalina raktą ir atitinkamą vertę, kurią išnagrinėjome metodu. Pašalinta vertė grąžinama metodu.
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)); } }
Išvestis:
The removed value is: Mount Gambier
Elementų() ir key() metodų naudojimas
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()); } } }
Išvestis:
Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101
Skirtumas tarp HashMap ir žodyno klasės
Java HashMap klasė ir žodyno klasė atlieka panašias funkcijas. Vienintelis skirtumas yra tas HashMap įdiegia žemėlapio sąsają, o žodyno klasė ne . Remiantis „Java“ dokumentacija, „Dictionary“ klasė nebenaudojama, nes ji yra pasenusi. Vietoj Dictionary klasės naudojama HashMap klasė. Kadangi galime sakyti, kad HashMap yra žodyno rūšis.