U Javi, Rječnik je popis parova ključ-vrijednost. Pomoću klase Java Dictionary možemo pohraniti, dohvatiti, ukloniti, dobiti i staviti vrijednosti u rječnik. U ovom odjeljku raspravljat ćemo o Java Rječnik klasa koja pohranjuje podatke u parovima ključ-vrijednost baš kao i sučelje karte.
Java Dictionary Class
Java Rječnik klasa je apstraktna klasa roditeljska klasa bilo koje klase. Pripada java.util paket. Njegova izravna poznata potklasa je Raspršena tablica razreda. Poput klase Hashtable, također preslikava ključeve vrijednosti. Imajte na umu da je svaki ključ i vrijednost objekt i da se bilo koji objekt koji nije nula može koristiti kao ključ i kao vrijednost. Hijerarhija klasa rječnika je sljedeća:
Svaki ključ povezan je s najviše jednom vrijednošću, kao što je prikazano na sljedećoj slici. Nakon što je vrijednost pohranjena u objektu rječnika, možemo je dohvatiti pomoću ključa.
Sintaksa:
public abstract class Dictionary extends Object
Napomena: klasa je zastarjela. Dakle, implementirajte sučelje karte umjesto proširenja klase.
Konstruktor klase rječnika
Klasa ima samo konstruktor koji se zove a jedini konstruktor.
Sintaksa:
public Dictionary()
Metode razreda rječnika
Sve metode klase Rječnik su sažetak . Sljedeća tablica opisuje metode.
java tostring
metoda | Opis |
---|---|
javni sažetak Enumeration elements() | Vraća nabrajanje vrijednosti u ovom rječniku. Vraćeni objekt enum generira sve elemente sadržane u unosima u ovom rječniku. |
javni sažetak V get(ključ objekta) | Vraća vrijednost na koju je ključ mapiran u ovom rječniku. Raščlanjuje objekt (ključ) u ovom rječniku. Imajte na umu da ako ovaj rječnik sadrži unos za navedeni ključ, pridružena vrijednost se vraća; inače se vraća null. Izbacuje NullPointerException ako je ključ null. |
javni apstraktni booleov isEmpty() | Metoda provjerava mapira li ovaj rječnik ključeve vrijednosti. Vraća true ako i samo ako ovaj rječnik ne sadrži unose, inače vraća false. |
javni apstraktni ključevi nabrajanja() | Vraća enum ključeva u ovom rječniku. Vraćeni objekt enum generira sve ključeve za koje ovaj rječnik sadrži unose. |
javni sažetak V put (K ključ, V vrijednost) | Metoda se koristi za umetanje para ključ-vrijednost u rječnik. Preslikava navedeni ključ u navedenu vrijednost u ovom rječniku. Imajte na umu da ni ključ ni vrijednost ne mogu biti null. Ako rječnik već sadrži unos za navedeni ključ, vraća se vrijednost koja je već u ovom rječniku za taj ključ, nakon izmjene unosa tako da sadrži novi element. Ako rječnik već nema unos za navedeni ključ, stvara se unos za navedeni ključ i vrijednost, a vraća se null. Raščlanjuje ključ i vrijednost kao parametar. Izbacuje NullPointerException ako je ključ ili vrijednost null. |
javni sažetak V ukloniti (ključ objekta) | Metoda analizira ključ koji želimo ukloniti. Uklanja ključ i pridruženu vrijednost. Imajte na umu da metoda ne radi ništa ako ključ nije u rječniku. Izbacuje NullPointerException ako je ključ null. |
public abstract int size() | Vraća broj unosa (različitih ključeva) u ovom rječniku. |
Java Rječnički programi
Korištenje metode Dictionary.put().
Metoda put() umeće elemente u rječnik. Sljedeći program pokazuje isto.
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); } }
Izlaz:
{108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney}
Korištenje metode Dictionary.size().
Veličina rječnika je broj elemenata koje rječnik sadrži. U sljedećem programu, veličina rječnika je 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()); } }
Izlaz:
The size of the dictionary is: 6
Korištenje metode Dictionary.get().
Korištenjem metode get() možemo dohvatiti vrijednost određenog 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)); } }
Izlaz:
The value of the specified key is: Melbourne
Korištenje metode Dictionary.isEmpty().
Vraća true ako je rječnik prazan, inače vraća 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()); } }
Izlaz:
Is the dictionary empty? false
Korištenje metode Dictionary.remove().
Metoda uklanja ključ i odgovarajuću vrijednost koju smo raščlanili u metodi. Metoda vraća uklonjenu vrijednost.
virtualna memorija
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)); } }
Izlaz:
The removed value is: Mount Gambier
Korištenje metoda elements() i 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()); } } }
Izlaz:
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 između klase HashMap i rječnika
Java HashMap klasa i klasa Rječnik obavljaju sličnu funkciju. Jedina razlika je u tome HashMap implementira sučelje karte dok klasa Rječnik ne . Prema Java dokumentaciji, klasa rječnika više se ne koristi jer je zastarjela. Umjesto klase Rječnik koristi se klasa HashMap. Budući da možemo reći da je HashMap vrsta rječnika.