Java klase java.util.Dictionary ir abstrakta klase, kas attēlo atslēgu un vērtību pāru kolekciju, kur atslēgas ir unikālas un tiek izmantotas, lai piekļūtu vērtībām. Tā bija daļa no Java Collections Framework, kas ieviesta Java 1.2, taču kopš Java 1.2 ir lielā mērā aizstāta ar java.util.Map saskarni.
Vārdnīcas klase ir abstrakta klase, un to nevar izveidot tieši. Tā vietā tiek nodrošinātas pamatoperācijas, lai piekļūtu kolekcijā saglabātajiem atslēgu-vērtību pāriem, kurus īsteno tā konkrētā apakšklase java.util.Hashtable.
Vārdnīcas klase definē šādas metodes:
- get(Objekta atslēga): atgriež vērtību, kas saistīta ar norādīto atslēgu vārdnīcā, vai nulli, ja atslēga nav atrasta.
- put (Objekta atslēga, Objekta vērtība): ievieto vārdnīcā atslēgas-vērtības pāri. Ja atslēga jau pastāv, tai atbilstošā vērtība ir
- aizstāt ar jauno vērtību, un vecā vērtība tiek atgriezta. Ja atslēga ir jauna, tiek atgriezta nulle.
- noņemt(Objekta atslēga): no vārdnīcas noņem atslēgas-vērtības pāri, kas saistīts ar norādīto atslēgu, un atgriež tā vērtību. Ja atslēga netiek atrasta, tiek atgriezta nulle.
- size(): atgriež vārdnīcā saglabāto atslēgu un vērtību pāru skaitu.
- isEmpty(): atgriež true, ja vārdnīca ir tukša, un atgriež false, ja vārdnīca ir tukša.
elementi(): atgriež vārdnīcā saglabāto vērtību uzskaitījumu. - keys(): atgriež vārdnīcā saglabāto taustiņu uzskaitījumu.
Šis ir klases vārdnīcas izmantošanas piemērs:
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));> >}> >}> }> |
>
>Izvade
30 35 2 Key: Bob, Value: 30 Key: Charlie, Value: 40>
util.Vārdnīca ir abstrakta klase, kas pārstāv a atslēgas vērtība attiecības un darbojas līdzīgi kartei. Izmantojot atslēgu, jūs varat saglabāt vērtības un vajadzības gadījumā izgūt vērtību atpakaļ, izmantojot tās atslēgu. Tādējādi tas ir atslēgas un vērtības pāra saraksts.
Deklarācija
public abstract class Dictionary extends Object>
Konstruktori:
Vārdnīca() Vienīgais konstruktors.
Klase java.util.Dictionary ir Java klase, kas nodrošina atslēgas vērtību datu struktūru, kas ir līdzīga kartes saskarnei. Tā bija daļa no sākotnējās Java Collections sistēmas un tika ieviesta Java 1.0.
Tomēr vārdnīcas klase kopš tā laika tiek uzskatīta par novecojušu, un tās lietošana parasti nav ieteicama. Tas ir tāpēc, ka tas tika izstrādāts pirms kolekciju ietvara ieviešanas un tajā nav ieviests Map interfeiss, kas apgrūtina tā lietošanu kopā ar citām ietvara daļām.
Parasti vārdnīcas klases vietā ieteicams izmantot kartes saskarni vai kādu no tās ieviešanu (piemēram, HashMap vai ConcurrentHashMap).
Tālāk ir sniegts klases vārdnīcas izmantošanas piemērs:
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));> >}> >}> }> |
>
>Izvade
Value of A: 1 Key: A, Value: 1 Key: C, Value: 3>
Metodes util.Vārdnīcas klase:
1. put(K taustiņš, V vērtība) : java.util.Dictionary.put(K taustiņš, V vērtība) vārdnīcai pievieno atslēgas-vērtības pāri.
Sintakse :
public abstract V put(K key, V value) Parameters : ->atslēga -> vērtība Return : atslēgas-vērtības pāris, kas kartēts vārdnīcā>
2. elements() : java.util.Dictionary.elements() atgriež vērtību attēlojumu vārdnīcā.
Sintakse :
public abstract Enumeration elements() Parameters : -------- Return : value enumeration in dictionary>
3. get(Objekta atslēga) : java.util.Dictionary.get(Objekta atslēga) atgriež vērtību, kas vārdnīcā ir kartēta ar argumentēto atslēgu.
Sintakse :
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() pārbauda, vai vārdnīca ir tukša.
Sintakse :
public abstract boolean isEmpty() Parameters : ------ Return : true, if there is no key-value relation in the dictionary; else false>
5. taustiņi() : java.util.Dictionary.keys() atgriež atslēgas attēlojumu vārdnīcā.
Sintakse :
public abstract Enumeration keys() Parameters : -------- Return : key enumeration in dictionary>
6. noņemt(Objekta atslēga) : java.util.Dictionary.remove(Objekta atslēga) noņem atslēgas vērtību pāri, kas kartēts ar argumentēto atslēgu.
Sintakse :
public abstract V remove(Object key) Parameters : key : key to be removed Return : value mapped with the key>
7. izmērs() : java.util.Dictionary.size() atgriež nr. no atslēgas vērtību pāriem vārdnīcā.
Sintakse :
public abstract int size() Parameters : ------- Return : returns the no. of key-value pairs in the Dictionary>
Java
kā pārtaisīt Photoshop
// 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());> >}> }> |
>
>
Izvade:
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ārdnīcas klases priekšrocības:
- Mantojuma atbalsts: vārdnīcas klase bija daļa no sākotnējās Java kolekciju sistēmas, un tā ir daļa no Java kopš sākuma. Tas nozīmē, ka, ja jums ir mantots kods, kas izmanto vārdnīcu, jūs joprojām varat to izmantot savā jaunajā kodā.
- Vienkārša lietošana: vārdnīcas klase ir vienkārši lietojama, un tā nodrošina pamata atslēgas vērtību datu struktūras funkcionalitāti, kas var būt noderīga vienkāršos gadījumos.
Vārdnīcas klases trūkumi:
- Novecojusi: vārdnīcas klase tiek uzskatīta par novecojušu, un tās lietošana parasti nav ieteicama. Tas ir tāpēc, ka tas tika izstrādāts pirms kolekciju ietvara ieviešanas un tajā nav ieviests Map interfeiss, kas apgrūtina tā lietošanu kopā ar citām ietvara daļām.
- Ierobežota funkcionalitāte: vārdnīcas klase nodrošina pamata atslēgas vērtību datu struktūras funkcionalitāti, taču nenodrošina pilnu funkcionalitātes klāstu, kas ir pieejams kartes saskarnē un tā implementācijās.
- Nav drošs tipam: klase Dictionary izmanto klasi Object, lai attēlotu gan atslēgas, gan vērtības, kas var izraisīt tipu neatbilstības un izpildlaika kļūdas.
Uzziņu grāmatas:
- Morisa Naftalina un Filipa Veidlera Java kolekcijas. Šajā grāmatā ir sniegts visaptverošs pārskats par Java kolekciju sistēmu, tostarp vārdnīcas klasi.
- Deivids Flanagans Java īsumā. Šajā grāmatā ir sniegta ātra uzziņa par Java galvenajām funkcijām, tostarp vārdnīcas klasi.
- Morisa Naftalina un Filipa Veidlera Java vispārīgie materiāli un kolekcijas. Šajā grāmatā ir sniegts visaptverošs ceļvedis par ģenēriskām zālēm un kolekcijām Java valodā, tostarp vārdnīcas klasē.