Clasa java.util.Dictionary din Java este o clasă abstractă care reprezintă o colecție de perechi cheie-valoare, în care cheile sunt unice și sunt folosite pentru a accesa valorile. A făcut parte din cadrul Java Collections Framework introdus în Java 1.2, dar a fost în mare parte înlocuit de interfața java.util.Map începând cu Java 1.2.
Clasa Dicționar este o clasă abstractă și nu poate fi instanțiată direct. În schimb, oferă operațiunile de bază pentru accesarea perechilor cheie-valoare stocate în colecție, care sunt implementate de subclasa sa concretă java.util.Hashtable.
Clasa Dicționar definește următoarele metode:
- get(cheie obiect): returnează valoarea asociată cheii specificate în dicționar sau null dacă cheia nu este găsită.
- put(cheie obiect, valoare obiect): inserează o pereche cheie-valoare în dicționar. Dacă cheia există deja, valoarea ei corespunzătoare este
- înlocuită cu noua valoare, iar valoarea veche este returnată. Dacă cheia este nouă, este returnat null.
- remove(cheia obiect): elimină perechea cheie-valoare asociată cheii specificate din dicționar și returnează valoarea acesteia. Dacă cheia nu este găsită, este returnat null.
- size(): returnează numărul de perechi cheie-valoare stocate în dicționar.
- isEmpty(): returnează adevărat dacă dicționarul este gol și fals în caz contrar.
elements(): Returnează o enumerare a valorilor stocate în dicționar. - keys(): Returnează o enumerare a cheilor stocate în dicționar.
Iată un exemplu de utilizare a clasei Dicționar:
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));> >}> >}> }> |
>
>Ieșire
30 35 2 Key: Bob, Value: 30 Key: Charlie, Value: 40>
util.Dictionar este o clasă abstractă, reprezentând a valoare cheie relație și funcționează similar unei hărți. Având o cheie, puteți stoca valori și, atunci când este necesar, puteți recupera valoarea înapoi folosind cheia acesteia. Astfel, este o listă de perechi cheie-valoare.
Declaraţie
public abstract class Dictionary extends Object>
Constructori:
Dicţionar() Constructor unic.
Clasa java.util.Dictionary este o clasă în Java care oferă o structură de date cheie-valoare, similară cu interfața Map. A făcut parte din cadrul original Java Collections și a fost introdus în Java 1.0.
Cu toate acestea, clasa Dicționar a fost considerată învechită și utilizarea sa este în general descurajată. Acest lucru se datorează faptului că a fost proiectat înainte de introducerea cadrului Collections și nu implementează interfața Map, ceea ce face dificilă utilizarea împreună cu alte părți ale cadrului.
În general, este recomandat să utilizați interfața Map sau una dintre implementările acesteia (cum ar fi HashMap sau ConcurrentHashMap) în loc de clasa Dicționar.
Iată un exemplu de utilizare a clasei Dicționar:
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));> >}> >}> }> |
>
>Ieșire
Value of A: 1 Key: A, Value: 1 Key: C, Value: 3>
Metode de util.Dictionary Clasa :
1. pune (tasta K, valoarea V): java.util.Dictionary.put (tasta K, valoarea V) adaugă perechea cheie-valoare la dicționar.
Sintaxa:
public abstract V put(K key, V value) Parameters : ->cheie -> valoare Returnare: pereche cheie-valoare mapată în dicționar>
2. elemente() : java.util.Dictionary.elements() returnează reprezentarea valorii în dicționar.
Sintaxa:
public abstract Enumeration elements() Parameters : -------- Return : value enumeration in dictionary>
3. get(cheie obiect): java.util.Dictionary.get(cheie obiect) returnează valoarea care este mapată cu cheia argumentată în dicționar.
Sintaxa:
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() verifică dacă dicționarul este gol sau nu.
Sintaxa:
public abstract boolean isEmpty() Parameters : ------ Return : true, if there is no key-value relation in the dictionary; else false>
5. chei() : java.util.Dictionary.keys() returnează reprezentarea cheii în dicționar.
Sintaxa:
public abstract Enumeration keys() Parameters : -------- Return : key enumeration in dictionary>
6. remove(cheie obiect): java.util.Dictionary.remove(cheie obiect) elimină perechea cheie-valoare mapată cu cheia argumentată.
Sintaxa:
public abstract V remove(Object key) Parameters : key : key to be removed Return : value mapped with the key>
7. size() : java.util.Dictionary.size() returnează nr. de perechi cheie-valoare în dicţionar.
Sintaxa:
public abstract int size() Parameters : ------- Return : returns the no. of key-value pairs in the Dictionary>
Java
egalitatea șirurilor de caractere în java
// 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());> >}> }> |
>
>
Ieșire:
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>
Avantajele clasei de dicționar:
- Suport moștenit: clasa Dicționar a făcut parte din cadrul original Java Collections și a făcut parte din Java încă de la început. Aceasta înseamnă că, dacă aveți un cod vechi care folosește Dicționar, îl puteți utiliza în continuare în noul cod.
- Simplu de utilizat: clasa Dicționar este ușor de utilizat și oferă funcționalitate de bază a structurii de date cheie-valoare, care poate fi utilă pentru cazuri simple.
Dezavantajele clasei de dicționar:
- Învechit: clasa Dicționar este considerată învechită și utilizarea sa este în general descurajată. Acest lucru se datorează faptului că a fost proiectat înainte de introducerea cadrului Collections și nu implementează interfața Map, ceea ce face dificilă utilizarea împreună cu alte părți ale cadrului.
- Funcționalitate limitată: clasa Dicționar oferă funcționalități de bază ale structurii de date cheie-valoare, dar nu oferă întreaga gamă de funcționalități disponibile în interfața Map și implementările acesteia.
- Nu este sigur de tip: clasa Dicționar folosește clasa Object pentru a reprezenta atât cheile, cât și valorile, ceea ce poate duce la nepotriviri de tip și erori de rulare.
Carti de referinta:
- Colecții Java de Maurice Naftalin și Philip Wadler. Această carte oferă o privire de ansamblu cuprinzătoare asupra cadrului Java Collections, inclusiv a clasei Dictionary.
- Java pe scurt de David Flanagan. Această carte oferă o referință rapidă pentru caracteristicile de bază ale Java, inclusiv clasa Dicționar.
- Generice și colecții Java de Maurice Naftalin și Philip Wadler. Această carte oferă un ghid cuprinzător pentru generice și colecții în Java, inclusiv clasa Dicționar.