Trieda java.util.Dictionary v jazyku Java je abstraktná trieda, ktorá predstavuje kolekciu párov kľúč-hodnota, kde kľúče sú jedinečné a používajú sa na prístup k hodnotám. Bol súčasťou Java Collections Framework predstaveného v Java 1.2, ale bol do značnej miery nahradený rozhraním java.util.Map od Java 1.2.
Trieda Dictionary je abstraktná trieda a nemožno ju priamo vytvoriť. Namiesto toho poskytuje základné operácie pre prístup k párom kľúč-hodnota uloženým v kolekcii, ktoré sú implementované jej konkrétnou podtriedou java.util.Hashtable.
Trieda Dictionary definuje nasledujúce metódy:
- get (kľúč objektu): Vráti hodnotu priradenú k zadanému kľúču v slovníku alebo hodnotu null, ak sa kľúč nenájde.
- put(kľúč objektu, hodnota objektu): Vloží pár kľúč-hodnota do slovníka. Ak kľúč už existuje, jeho zodpovedajúca hodnota je
- nahradí sa novou hodnotou a vráti sa stará hodnota. Ak je kľúč nový, vráti sa hodnota null.
- remove(Kľúč objektu): Odstráni pár kľúč-hodnota priradený k zadanému kľúču zo slovníka a vráti jeho hodnotu. Ak sa kľúč nenájde, vráti sa hodnota null.
- size(): Vráti počet párov kľúč – hodnota uložených v slovníku.
- isEmpty(): Vráti hodnotu true, ak je slovník prázdny, a v opačnom prípade vráti hodnotu false.
elements(): Vráti zoznam hodnôt uložených v slovníku. - keys(): Vráti zoznam kľúčov uložených v slovníku.
Tu je príklad použitia triedy Dictionary:
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));> > }> > }> }> |
>
>Výkon
30 35 2 Key: Bob, Value: 30 Key: Charlie, Value: 40>
util.Slovník je abstraktná trieda, predstavujúca a kľúč-hodnota vzťah a funguje podobne ako mapa. Daný kľúč môžete uložiť hodnoty av prípade potreby získať hodnotu späť pomocou jeho kľúča. Ide teda o zoznam párov kľúč – hodnota.
Vyhlásenie
public abstract class Dictionary extends Object>
Konštruktéri:
slovník() Jediný konštruktér.
Trieda java.util.Dictionary je trieda v jazyku Java, ktorá poskytuje dátovú štruktúru kľúč-hodnota, podobnú rozhraniu Map. Bol súčasťou pôvodného rámca Java Collections a bol predstavený v jazyku Java 1.0.
Trieda Dictionary je však odvtedy považovaná za zastaranú a jej používanie sa vo všeobecnosti neodporúča. Je to preto, že bol navrhnutý pred zavedením rámca Collections a neimplementuje rozhranie mapy, čo sťažuje použitie v spojení s inými časťami rámca.
Vo všeobecnosti sa odporúča namiesto triedy Dictionary použiť rozhranie Map alebo niektorú z jeho implementácií (napríklad HashMap alebo ConcurrentHashMap).
Tu je príklad, ako používať triedu Slovník:
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));> > }> > }> }> |
>
>Výkon
Value of A: 1 Key: A, Value: 1 Key: C, Value: 3>
Metódy triedy util.Dictionary:
1. put(kľúč K, hodnota V) : java.util.Dictionary.put(kľúč K, hodnota V) pridá pár kľúč – hodnota do slovníka.
Syntax:
public abstract V put(K key, V value) Parameters : ->key -> value Return : pár kľúč-hodnota mapovaný v slovníku>
2. elements() : java.util.Dictionary.elements() vráti reprezentáciu hodnoty v slovníku.
Syntax:
public abstract Enumeration elements() Parameters : -------- Return : value enumeration in dictionary>
3. get (kľúč objektu) : java.util.Dictionary.get (kľúč objektu) vráti hodnotu, ktorá je namapovaná s argumentovaným kľúčom v slovníku.
Syntax:
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() kontroluje, či je slovník prázdny alebo nie.
Syntax:
public abstract boolean isEmpty() Parameters : ------ Return : true, if there is no key-value relation in the dictionary; else false>
5. keys(): java.util.Dictionary.keys() vráti reprezentáciu kľúča v slovníku.
Syntax:
public abstract Enumeration keys() Parameters : -------- Return : key enumeration in dictionary>
6. remove (kľúč objektu) : java.util.Dictionary.remove (kľúč objektu) odstráni pár kľúč-hodnota mapovaný s argumentovaným kľúčom.
Syntax:
public abstract V remove(Object key) Parameters : key : key to be removed Return : value mapped with the key>
7. size() : java.util.Dictionary.size() vráti č. párov kľúč – hodnota v Slovníku.
Syntax:
public abstract int size() Parameters : ------- Return : returns the no. of key-value pairs in the Dictionary>
Java
značka zuckerberg vzdelanie
// 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());> > }> }> |
>
>
Výkon:
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>
Výhody triedy Slovník:
- Legacy Support: Trieda Dictionary bola súčasťou pôvodného rámca Java Collections a je súčasťou Java od začiatku. To znamená, že ak máte starý kód, ktorý používa Slovník, stále ho môžete použiť vo svojom novom kóde.
- Jednoduché použitie: Trieda Dictionary sa jednoducho používa a poskytuje základnú funkčnosť dátovej štruktúry kľúč – hodnota, ktorá môže byť užitočná v jednoduchých prípadoch.
Nevýhody triedy Slovník:
- Zastarané: Trieda Dictionary sa považuje za zastaranú a jej používanie sa vo všeobecnosti neodporúča. Je to preto, že bol navrhnutý pred zavedením rámca Collections a neimplementuje rozhranie mapy, čo sťažuje použitie v spojení s inými časťami rámca.
- Obmedzená funkčnosť: Trieda Dictionary poskytuje základnú funkčnosť dátovej štruktúry kľúč – hodnota, ale neposkytuje celý rozsah funkcií, ktoré sú dostupné v rozhraní mapy a jeho implementáciách.
- Nie je typovo bezpečné: Trieda Dictionary používa triedu Object na reprezentáciu kľúčov aj hodnôt, čo môže viesť k nezhodám typov a chybám pri spustení.
Referenčná literatúra:
- Java Collections od Mauricea Naftalina a Philipa Wadlera. Táto kniha poskytuje komplexný prehľad o rámci Java Collections, vrátane triedy Dictionary.
- Java v kocke od Davida Flanagana. Táto kniha poskytuje rýchly odkaz na základné funkcie jazyka Java vrátane triedy Dictionary.
- Java Generics and Collections od Mauricea Naftalina a Philipa Wadlera. Táto kniha poskytuje komplexného sprievodcu generikami a zbierkami v jazyku Java, vrátane triedy Dictionary.