logo

Java.util.Dictionary Třída v Javě

Třída java.util.Dictionary v Javě je abstraktní třída, která představuje kolekci párů klíč-hodnota, kde jsou klíče jedinečné a používají se k přístupu k hodnotám. Byl součástí Java Collections Framework představeného v Javě 1.2, ale byl z velké části nahrazen rozhraním java.util.Map od Java 1.2.

Třída Dictionary je abstraktní třída a nelze ji přímo vytvořit. Místo toho poskytuje základní operace pro přístup k párům klíč-hodnota uloženým v kolekci, které jsou implementovány její konkrétní podtřídou java.util.Hashtable.



Třída Dictionary definuje následující metody:

  1. get(Object key): Vrátí hodnotu spojenou se zadaným klíčem ve slovníku nebo null, pokud klíč nebyl nalezen.
  2. put(klíč objektu, hodnota objektu): Vloží pár klíč-hodnota do slovníku. Pokud klíč již existuje, jeho odpovídající hodnota je
  3. nahrazena novou hodnotou a vrátí se stará hodnota. Pokud je klíč nový, vrátí se null.
  4. remove(Object key): Odebere pár klíč-hodnota spojený se zadaným klíčem ze slovníku a vrátí jeho hodnotu. Pokud klíč není nalezen, je vrácena hodnota null.
  5. size(): Vrátí počet párů klíč–hodnota uložených ve slovníku.
  6. isEmpty(): Vrací true, pokud je slovník prázdný, a false v opačném případě.
    elements(): Vrací výčet hodnot uložených ve slovníku.
  7. keys(): Vrací výčet klíčů uložených ve slovníku.

Zde je příklad použití třídy Dictionary:

Jáva






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ýstup

30 35 2 Key: Bob, Value: 30 Key: Charlie, Value: 40>

util.Slovník je abstraktní třída představující a klíč-hodnota vztah a funguje podobně jako mapa. Danému klíči můžete uložit hodnoty a v případě potřeby hodnotu získat zpět pomocí jeho klíče. Jedná se tedy o seznam páru klíč-hodnota.

Prohlášení

public abstract class Dictionary extends Object>

Konstruktéři:
Slovník() Jediný konstruktér.

Třída java.util.Dictionary je třída v Javě, která poskytuje datovou strukturu klíč-hodnota, podobnou rozhraní Map. Byl součástí původního rámce Java Collections a byl představen v Javě 1.0.

Třída Dictionary je však od té doby považována za zastaralou a její používání se obecně nedoporučuje. Je to proto, že byl navržen před zavedením frameworku Collections a neimplementuje rozhraní Map, což ztěžuje použití ve spojení s jinými částmi frameworku.

Obecně se doporučuje místo třídy Dictionary používat rozhraní Map nebo některou z jeho implementací (jako je HashMap nebo ConcurrentHashMap).

Zde je příklad, jak používat třídu Dictionary:

Jáva




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ýstup

Value of A: 1 Key: A, Value: 1 Key: C, Value: 3>

Metody třídy util.Dictionary :

1. put(klíč K, hodnota V) : java.util.Dictionary.put(klíč K, hodnota V) přidá pár klíč–hodnota do slovníku.

Syntaxe:

public abstract V put(K key, V value) Parameters :  ->key -> value Return : pár klíč-hodnota mapovaný ve slovníku>

2. elements() : java.util.Dictionary.elements() vrátí reprezentaci hodnoty ve slovníku.

Syntaxe:

public abstract Enumeration elements() Parameters :  -------- Return :  value enumeration in dictionary>

3. get (klíč objektu) : java.util.Dictionary.get (klíč objektu) vrátí hodnotu, která je mapována s argumentovaným klíčem ve slovníku.

Syntaxe:

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, zda je slovník prázdný nebo ne.

Syntaxe:

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átí reprezentaci klíče ve slovníku.

Syntaxe:

public abstract Enumeration keys() Parameters :  -------- Return :  key enumeration in dictionary>

6. remove (klíč objektu) : java.util.Dictionary.remove (klíč objektu) odstraní pár klíč-hodnota namapovaný argumentovaným klíčem.

Syntaxe:

public abstract V remove(Object key) Parameters :  key : key to be removed Return :  value mapped with the key>

7. size() : java.util.Dictionary.size() vrací ne. párů klíč–hodnota ve Slovníku.

Syntaxe:

public abstract int size() Parameters :  ------- Return :  returns the no. of key-value pairs in the Dictionary>

Jáva


windows.open javascript



// 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ýstup:

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 třídy Slovník:

  1. Podpora starších verzí: Třída Dictionary byla součástí původního frameworku Java Collections a byla součástí Javy od začátku. To znamená, že pokud máte starší kód, který používá Slovník, můžete jej stále používat ve svém novém kódu.
  2. Jednoduché použití: Třída Dictionary se snadno používá a poskytuje základní funkce datové struktury klíč-hodnota, což může být užitečné v jednoduchých případech.

Nevýhody třídy Dictionary:

  1. Zastaralá: Třída Dictionary je považována za zastaralou a její používání se obecně nedoporučuje. Je to proto, že byl navržen před zavedením frameworku Collections a neimplementuje rozhraní Map, což ztěžuje použití ve spojení s jinými částmi frameworku.
  2. Omezená funkčnost: Třída Dictionary poskytuje základní funkce datové struktury klíč–hodnota, ale neposkytuje celou řadu funkcí, které jsou dostupné v rozhraní Map a jeho implementacích.
  3. Není typově bezpečné: Třída Dictionary používá třídu Object k reprezentaci klíčů i hodnot, což může vést k neshodě typů a chybám za běhu.

Referenční knihy:

  1. Java Collections od Maurice Naftalina a Philipa Wadlera. Tato kniha poskytuje komplexní přehled o frameworku Java Collections, včetně třídy Dictionary.
  2. Java v kostce od Davida Flanagana. Tato kniha poskytuje rychlý odkaz na základní funkce Javy, včetně třídy Dictionary.
  3. Java Generics and Collections od Maurice Naftalina a Philipa Wadlera. Tato kniha poskytuje komplexního průvodce generikami a kolekcemi v Javě, včetně třídy Dictionary.