logo

Klasa Java.util.Dictionary w Javie

Klasa java.util.Dictionary w Javie to klasa abstrakcyjna reprezentująca zbiór par klucz-wartość, gdzie klucze są unikalne i służą do uzyskiwania dostępu do wartości. Była częścią środowiska Java Collections Framework wprowadzonego w Javie 1.2, ale od wersji Java 1.2 została w dużej mierze zastąpiona interfejsem java.util.Map.

Klasa Dictionary jest klasą abstrakcyjną i nie można jej bezpośrednio utworzyć. Zamiast tego zapewnia podstawowe operacje dostępu do par klucz-wartość przechowywanych w kolekcji, które są implementowane przez konkretną podklasę java.util.Hashtable.

Klasa Dictionary definiuje następujące metody:

  1. get(Klucz obiektu): Zwraca wartość powiązaną z określonym kluczem w słowniku lub wartość null, jeśli klucz nie zostanie znaleziony.
  2. put(Klucz obiektu, Wartość obiektu): Wstawia parę klucz-wartość do słownika. Jeśli klucz już istnieje, odpowiada mu wartość
  3. zostaje zastąpiona nową wartością i zostaje zwrócona stara wartość. Jeśli klucz jest nowy, zwracana jest wartość null.
  4. usuń (klucz obiektu): Usuwa ze słownika parę klucz-wartość powiązaną z określonym kluczem i zwraca jego wartość. Jeśli klucz nie zostanie znaleziony, zwracana jest wartość null.
  5. size(): Zwraca liczbę par klucz-wartość przechowywanych w słowniku.
  6. isEmpty(): Zwraca wartość true, jeśli słownik jest pusty, lub false w przeciwnym razie.
    elementy(): Zwraca wyliczenie wartości przechowywanych w słowniku.
  7. klucze(): Zwraca wyliczenie kluczy przechowywanych w słowniku.

Oto przykład użycia klasy Dictionary:

Jawa






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));> >}> >}> }>

>

>

Wyjście

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

util.Słownik jest klasą abstrakcyjną, reprezentującą a kluczowa wartość relację i działa podobnie do mapy. Mając klucz, możesz przechowywać wartości i w razie potrzeby odzyskać je za pomocą klucza. Jest to zatem lista par klucz-wartość.

Deklaracja

public abstract class Dictionary extends Object>

Konstruktorzy:
Słownik() Jedyny konstruktor.

Klasa java.util.Dictionary to klasa w języku Java udostępniająca strukturę danych typu klucz-wartość, podobną do interfejsu Map. Była częścią oryginalnego frameworka Java Collections i została wprowadzona w Javie 1.0.

Jednakże klasę Dictionary uznano od tego czasu za przestarzałą i ogólnie odradza się jej używanie. Dzieje się tak dlatego, że został on zaprojektowany przed wprowadzeniem frameworka Collections i nie implementuje interfejsu Map, co utrudnia jego użycie w połączeniu z innymi częściami frameworka.

Ogólnie rzecz biorąc, zamiast klasy Dictionary zaleca się użycie interfejsu Map lub jednej z jego implementacji (takich jak HashMap lub ConcurrentHashMap).

Oto przykład użycia klasy Dictionary:

Jawa




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));> >}> >}> }>

>

>

Wyjście

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

Metody klasy util.Dictionary :

1. put(klawisz K, wartość V): java.util.Dictionary.put(klawisz K, wartość V) dodaje parę klucz-wartość do słownika.

Składnia:

public abstract V put(K key, V value) Parameters :  ->klucz -> wartość Powrót: para klucz-wartość odwzorowana w słowniku>

2. elementy(): java.util.Dictionary.elements() zwraca reprezentację wartości w słowniku.

Składnia:

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

3. get(Klucz obiektu): java.util.Dictionary.get(Klucz obiektu) zwraca wartość odwzorowaną za pomocą argumentowanego klucza w słowniku.

Składnia:

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() sprawdza, czy słownik jest pusty, czy nie.

Składnia:

public abstract boolean isEmpty() Parameters :  ------ Return :  true, if there is no key-value relation in the dictionary; else false>

5. klucze(): java.util.Dictionary.keys() zwraca kluczową reprezentację w słowniku.

Składnia:

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

6. usuń (klucz obiektu): java.util.Dictionary.remove (klucz obiektu) usuwa parę klucz-wartość odwzorowaną za pomocą argumentowanego klucza.

Składnia:

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

7. rozmiar(): java.util.Dictionary.size() zwraca nr. par klucz-wartość w słowniku.

Składnia:

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

Jawa


losowy kod c



// 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());> >}> }>

>

>

Wyjście:

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>

Zalety klasy Dictionary:

  1. Obsługa starszych wersji: Klasa Dictionary była częścią oryginalnego frameworka Java Collections i od samego początku jest częścią języka Java. Oznacza to, że jeśli masz starszy kod korzystający ze słownika, nadal możesz go używać w nowym kodzie.
  2. Prosta w użyciu: Klasa Dictionary jest prosta w użyciu i zapewnia podstawową funkcjonalność struktury danych klucz-wartość, która może być użyteczna w prostych przypadkach.

Wady klasy Dictionary:

  1. Przestarzała: Klasa Dictionary jest uważana za przestarzałą i ogólnie odradza się jej używanie. Dzieje się tak dlatego, że został on zaprojektowany przed wprowadzeniem frameworka Collections i nie implementuje interfejsu Map, co utrudnia jego użycie w połączeniu z innymi częściami frameworka.
  2. Ograniczona funkcjonalność: Klasa Dictionary zapewnia podstawową funkcjonalność struktury danych klucz-wartość, ale nie zapewnia pełnego zakresu funkcjonalności dostępnego w interfejsie Map i jego implementacjach.
  3. Brak bezpieczeństwa typu: Klasa Dictionary używa klasy Object do reprezentowania zarówno kluczy, jak i wartości, co może prowadzić do niezgodności typów i błędów w czasie wykonywania.

Leksykony:

  1. Kolekcje Java autorstwa Maurice'a Naftalina i Philipa Wadlera. Ta książka zawiera kompleksowy przegląd frameworku Java Collections, w tym klasy Dictionary.
  2. Java w pigułce Davida Flanagana. Książka ta zawiera krótkie omówienie podstawowych funkcji języka Java, w tym klasy Dictionary.
  3. Generics and Collections w języku Java autorstwa Maurice'a Naftalina i Philipa Wadlera. Ta książka zawiera obszerny przewodnik po rodzajach generycznych i kolekcjach w Javie, łącznie z klasą Dictionary.