Java.util.Dictionary klasė yra abstrakčioji klasė, vaizduojanti raktų ir reikšmių porų rinkinį, kur raktai yra unikalūs ir naudojami reikšmėms pasiekti. Tai buvo „Java“ kolekcijų sistemos, pristatytos „Java 1.2“, dalis, tačiau nuo „Java 1.2“ ją iš esmės pakeitė java.util.Map sąsaja.
Žodyno klasė yra abstrakti klasė ir negali būti tiesiogiai generuojama. Vietoj to, joje pateikiamos pagrindinės operacijos, leidžiančios pasiekti rinkinyje saugomas raktų ir verčių poras, kurias įgyvendina konkretus poklasis java.util.Hashtable.
Žodyno klasė apibrėžia šiuos metodus:
- get (Objekto raktas): grąžina reikšmę, susietą su nurodytu raktu žodyne, arba nulį, jei raktas nerastas.
- put(Objekto raktas, Objekto reikšmė): į žodyną įterpia rakto-reikšmių porą. Jei raktas jau yra, jo atitinkama reikšmė yra
- pakeista nauja verte ir grąžinama senoji vertė. Jei raktas naujas, grąžinamas nulis.
- pašalinti (Objekto raktas): pašalina rakto ir vertės porą, susietą su nurodytu raktu, iš žodyno ir grąžina jos reikšmę. Jei raktas nerastas, grąžinamas nulis.
- size(): Grąžina žodyne saugomų raktų ir reikšmių porų skaičių.
- isEmpty(): grąžina true, jei žodynas tuščias, ir false kitu atveju.
elements(): pateikia žodyne saugomų reikšmių sąrašą. - keys(): pateikia žodyne saugomų raktų sąrašą.
Štai žodyno klasės naudojimo pavyzdys:
Java
import> java.util.Dictionary;> import> java.util.Enumeration;> import> java.util.Hashtable;> public> class> DictionaryExample {> > public> static> void> main(String[] args)> > {> > Dictionary dict=> new> Hashtable();> > dict.put(> 'Alice'> ,> 25> );> > dict.put(> 'Bob'> ,> 30> );> > dict.put(> 'Charlie'> ,> 35> );> > System.out.println(dict.get(> 'Bob'> ));> // 30> > int> oldValue = dict.put(> 'Charlie'> ,> 40> );> > System.out.println(oldValue);> // 35> > dict.remove(> 'Alice'> );> > System.out.println(dict.size());> // 2> > Enumeration k = dict.keys();> > while> (k.hasMoreElements()) {> > String key = k.nextElement();> > System.out.println(> 'Key: '> + key +> ', Value: '> > + dict.get(key));> > }> > }> }> |
>
>Išvestis
30 35 2 Key: Bob, Value: 30 Key: Charlie, Value: 40>
util.Žodynas yra abstrakti klasė, atstovaujanti a rakto vertė ryšį ir veikia panašiai kaip žemėlapį. Turėdami raktą galite išsaugoti reikšmes ir prireikus atkurti reikšmę naudodami jo raktą. Taigi, tai yra raktų ir reikšmių porų sąrašas.
Deklaracija
public abstract class Dictionary extends Object>
Konstruktoriai:
Žodynas () Vienintelis konstruktorius.
Klasė java.util.Dictionary yra „Java“ klasė, kurioje pateikiama raktinių reikšmių duomenų struktūra, panaši į žemėlapio sąsają. Tai buvo originalios „Java Collections“ sistemos dalis ir buvo pristatyta „Java 1.0“.
Tačiau nuo to laiko žodyno klasė buvo laikoma pasenusia ir jos naudoti apskritai nerekomenduojama. Taip yra todėl, kad jis buvo sukurtas prieš įvedant rinkinių sistemą ir neįgyvendina žemėlapio sąsajos, todėl ją sunku naudoti kartu su kitomis sistemos dalimis.
Apskritai, vietoj žodyno klasės rekomenduojama naudoti žemėlapio sąsają arba vieną iš jos įgyvendinimų (pvz., HashMap arba ConcurrentHashMap).
Štai pavyzdys, kaip naudoti žodyno klasę:
Java
import> java.util.Dictionary;> import> java.util.Enumeration;> import> java.util.Hashtable;> public> class> Main {> > public> static> void> main(String[] args) {> > Dictionary dictionary => new> Hashtable();> > // Adding elements to the dictionary> > dictionary.put(> 'A'> ,> 1> );> > dictionary.put(> 'B'> ,> 2> );> > dictionary.put(> 'C'> ,> 3> );> > // Getting values from the dictionary> > int> valueA = dictionary.get(> 'A'> );> > System.out.println(> 'Value of A: '> + valueA);> > // Removing elements from the dictionary> > dictionary.remove(> 'B'> );> > // Enumerating the elements of the dictionary> > Enumeration keys = dictionary.keys();> > while> (keys.hasMoreElements()) {> > String key = keys.nextElement();> > System.out.println(> 'Key: '> + key +> ', Value: '> + dictionary.get(key));> > }> > }> }> |
>
>Išvestis
Value of A: 1 Key: A, Value: 1 Key: C, Value: 3>
Naudojimo metodai.Žodyno klasė:
1. put(K raktas, V reikšmė) : java.util.Dictionary.put(K raktas, V reikšmė) prideda rakto-reikšmių porą į žodyną.
Sintaksė:
public abstract V put(K key, V value) Parameters : ->key -> value Return : rakto-reikšmių pora susieta žodyne>
2. elementai() : java.util.Dictionary.elements() grąžina reikšmės vaizdavimą žodyne.
Sintaksė:
public abstract Enumeration elements() Parameters : -------- Return : value enumeration in dictionary>
3. gauti(Objekto raktas) : java.util.Dictionary.get(Objekto raktas) grąžina reikšmę, kuri žodyne susieta su argumentuotu raktu.
Sintaksė:
public abstract V get(Object key) Parameters : key - key whose mapped value we want Return : value mapped with the argumented key>
4. isEmpty() : java.util.Dictionary.isEmpty() patikrina, ar žodynas tuščias, ar ne.
Sintaksė:
public abstract boolean isEmpty() Parameters : ------ Return : true, if there is no key-value relation in the dictionary; else false>
5. raktai() : java.util.Dictionary.keys() grąžina raktinį vaizdavimą žodyne.
Sintaksė:
public abstract Enumeration keys() Parameters : -------- Return : key enumeration in dictionary>
6. pašalinti (Objekto raktas) : java.util.Dictionary.remove (Objekto raktas) pašalina rakto-reikšmių porą, susietą su argumentuotu raktu.
Sintaksė:
public abstract V remove(Object key) Parameters : key : key to be removed Return : value mapped with the key>
7. dydis() : java.util.Dictionary.size() grąžina Nr. raktų ir reikšmių porų žodyne.
Sintaksė:
public abstract int size() Parameters : ------- Return : returns the no. of key-value pairs in the Dictionary>
Java
javascript pavyzdys
// Java Program explaining util.Dictionary class Methods> // put(), elements(), get(), isEmpty(), keys()> // remove(), size()> import> java.util.*;> public> class> New_Class> {> > public> static> void> main(String[] args)> > {> > // Initializing a Dictionary> > Dictionary geek => new> Hashtable();> > // put() method> > geek.put('> 123> ', 'Code');> > geek.put('> 456> ', 'Program');> > // elements() method :> > for> (Enumeration i = geek.elements(); i.hasMoreElements();)> > {> > System.out.println('Value in Dictionary : ' + i.nextElement());> > }> > // get() method :> > System.out.println('
Value at key => 6> : ' + geek.get('> 6> '));> > System.out.println('Value at key => 456> : ' + geek.get('> 123> '));> > // isEmpty() method :> > System.out.println('
There is no key-value pair : ' + geek.isEmpty() + '
');> > // keys() method :> > for> (Enumeration k = geek.keys(); k.hasMoreElements();)> > {> > System.out.println('Keys in Dictionary : ' + k.nextElement());> > }> > // remove() method :> > System.out.println('
Remove : ' + geek.remove('> 123> '));> > System.out.println('Check the value of removed key : ' + geek.get('> 123> '));> > System.out.println('
Size of Dictionary : ' + geek.size());> > }> }> |
>
>
Išvestis:
Value in Dictionary : Code Value in Dictionary : Program Value at key = 6 : null Value at key = 456 : Code There is no key-value pair : false Keys in Dictionary : 123 Keys in Dictionary : 456 Remove : Code Check the value of removed key : null Size of Dictionary : 1>
Žodyno klasės privalumai:
- Pasenęs palaikymas: žodyno klasė buvo originalios „Java Collections“ sistemos dalis ir nuo pat pradžių buvo „Java“ dalis. Tai reiškia, kad jei turite seną kodą, kuriame naudojamas žodynas, vis tiek galite jį naudoti naujame kode.
- Paprasta naudoti: žodyno klasę paprasta naudoti ir ji suteikia pagrindines raktinių reikšmių duomenų struktūros funkcijas, kurios gali būti naudingos paprastais atvejais.
Žodyno klasės trūkumai:
- Pasenusi: Žodyno klasė laikoma pasenusia ir jos naudoti apskritai nerekomenduojama. Taip yra todėl, kad jis buvo sukurtas prieš įvedant rinkinių sistemą ir neįgyvendina žemėlapio sąsajos, todėl ją sunku naudoti kartu su kitomis sistemos dalimis.
- Ribotos funkcijos: žodyno klasė suteikia pagrindines raktinių reikšmių duomenų struktūros funkcijas, tačiau nesuteikia visų funkcijų, kurios yra pasiekiamos žemėlapio sąsajoje ir jos diegimuose.
- Netinkamas tipui: žodyno klasė naudoja objektų klasę, kad pavaizduotų raktus ir reikšmes, todėl gali atsirasti tipų neatitikimų ir vykdymo klaidų.
Žinynai:
- Maurice'o Naftalino ir Philipo Wadlerio „Java“ kolekcijos. Šioje knygoje pateikiama išsami Java kolekcijų sistemos, įskaitant žodyno klasę, apžvalga.
- Java trumpai, David Flanagan. Šioje knygoje pateikiama trumpa informacija apie pagrindines „Java“ funkcijas, įskaitant „Dictionary“ klasę.
- Maurice'o Naftalino ir Philipo Wadlerio „Java Generics and Collections“. Šioje knygoje pateikiamas išsamus „Java“ generinių vaistų ir rinkinių vadovas, įskaitant „Dictionary“ klasę.