logo

Klasa słownika w Javie

na Jawie, Słownik to lista par klucz-wartość. Możemy przechowywać, pobierać, usuwać, pobierać i umieszczać wartości w słowniku, korzystając z klasy Java Dictionary. W tej części omówimy Jawa Słownik klasa, która przechowuje dane w parach klucz-wartość, podobnie jak interfejs Map.

Klasa słownika Java

Jawa Słownik class jest klasą nadrzędną dowolnej klasy abstrakcyjnej. To należy do Java.util pakiet. Jej bezpośrednio znaną podklasą jest Hashtable klasa. Podobnie jak klasa Hashtable, również odwzorowuje klucze na wartości. Należy pamiętać, że każdy klucz i wartość jest obiektem, a każdy obiekt inny niż null może być użyty jako klucz i wartość. Hierarchia klas słownika wygląda następująco:

Klasa słownika w Javie

Każdy klucz jest powiązany z co najwyżej jedną wartością, jak pokazano na poniższym rysunku. Gdy wartość zostanie zapisana w obiekcie słownika, możemy ją odzyskać za pomocą klucza.

Klasa słownika w Javie

Składnia:

 public abstract class Dictionary extends Object 

Uwaga: klasa jest przestarzała. Zatem zaimplementuj interfejs mapy zamiast rozszerzać klasę.

Konstruktor klas słownikowych

Klasa ma tylko konstruktor o nazwie a podeszwa konstruktor.

Składnia:

 public Dictionary() 

Metody klas słownikowych

Wszystkie metody klasy Dictionary są abstrakcyjny . W poniższej tabeli opisano metody.

metoda Opis
publiczne streszczenie Elementy wyliczeniowe() Zwraca wyliczenie wartości w tym słowniku. Zwrócony obiekt wyliczeniowy generuje wszystkie elementy zawarte w hasłach tego słownika.
publiczne streszczenie V get (klucz obiektu) Zwraca wartość, na którą klucz jest mapowany w tym słowniku. Analizuje obiekt (klucz) w tym słowniku. Należy pamiętać, że jeśli ten słownik zawiera wpis dla określonego klucza, zwracana jest powiązana wartość; w przeciwnym razie zwracana jest wartość null. Zgłasza wyjątek NullPointerException, jeśli klucz ma wartość null.
publiczna wartość logiczna abstrakcyjna isEmpty() Metoda sprawdza, czy ten słownik nie mapuje żadnych kluczy na wartość. Zwraca wartość true wtedy i tylko wtedy, gdy słownik nie zawiera żadnych wpisów, w przeciwnym razie zwraca wartość false.
publiczne streszczenie Klucze wyliczeniowe() Zwraca wyliczenie kluczy w tym słowniku. Zwrócony obiekt wyliczeniowy generuje wszystkie klucze, dla których ten słownik zawiera wpisy.
publiczne streszczenie V put (klawisz K, wartość V) Metoda służy do wstawiania pary klucz-wartość do słownika. Mapuje określony klucz na określoną wartość w tym słowniku. Należy pamiętać, że ani klucz, ani wartość nie mogą mieć wartości null.
Jeśli słownik zawiera już wpis dla określonego klucza, zwracana jest wartość znajdująca się już w tym słowniku dla tego klucza, po zmodyfikowaniu wpisu tak, aby zawierał nowy element.
Jeśli w słowniku nie ma jeszcze wpisu dla określonego klucza, tworzony jest wpis dla określonego klucza i wartości, a następnie zwracana jest wartość null.
Analizuje klucz i wartość jako parametr. Zgłasza wyjątek NullPointerException, jeśli klucz lub wartość ma wartość null.
publiczne streszczenie V usuń (klucz obiektu) Metoda analizuje klucz, który chcemy usunąć. Usuwa klucz i powiązaną wartość. Należy pamiętać, że metoda nie robi nic, jeśli klucza nie ma w słowniku. Zgłasza wyjątek NullPointerException, jeśli klucz ma wartość null.
publiczne streszczenie in size() Zwraca liczbę wpisów (odrębnych kluczy) w tym słowniku.

Programy słownikowe Java

Zastosowanie metody Dictionary.put().

Metoda put() wstawia elementy do słownika. Poniższy program demonstruje to samo.

Zmienna zmienna Java

WstawElementPrzykład.java

 import java.util.*; public class InsertElementExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(105, 'Lismore'); dict.put(106, 'Mount Gambier'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //prints keys and corresponding values System.out.println(dict); } } 

Wyjście:

sortowanie wiadro
 {108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney} 

Zastosowanie metody Dictionary.size().

Rozmiar słownika to liczba elementów, które zawiera słownik. W poniższym programie rozmiar słownika wynosi 6.

DictionarySizeExample.java

 import java.util.*; public class DictionarySizeExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //prints the size of the dictionary System.out.println('The size of the dictionary is: '+dict.size()); } } 

Wyjście:

 The size of the dictionary is: 6 

Użycie metody Dictionary.get().

Korzystając z metody get() możemy pobrać wartość określonego klucza.

SłownikGetElement.java

 import java.util.*; public class DictionaryGetElement { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //gets the value of the specified key System.out.println('The value of the specified key is: '+dict.get(103)); } } 

Wyjście:

 The value of the specified key is: Melbourne 

Użycie metody Dictionary.isEmpty().

Zwraca wartość true, jeśli słownik jest pusty, w przeciwnym razie zwraca wartość false.

PustyCheckExample.java

 import java.util.*; public class EmptyCheckExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); //checks if the dictionary is empty or not System.out.println('Is the dictionary empty? 
'+dict.isEmpty()); } } 

Wyjście:

 Is the dictionary empty? false 

Użycie metody Dictionary.remove().

Metoda usuwa klucz i odpowiadającą mu wartość, którą przeanalizowaliśmy w metodzie. Usunięta wartość jest zwracana przez metodę.

przekonwertuj nfa na dfa

UsuńElementExample.java

 import java.util.*; public class RemoveElementExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(108, 'Canberra'); dict.put(106, 'Mount Gambier'); dict.put(104, 'Perth'); dict.put(102, 'Brisbane'); //removes the corresponding value of the specified key System.out.println('The removed value is: '+dict.remove(106)); } } 

Wyjście:

 The removed value is: Mount Gambier 

Stosowanie metod elements() i key().

UsuńElementExample.java

 import java.util.*; public class IterateKeyAndValuesExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(105, 'Lismore'); dict.put(106, 'Mount Gambier'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); System.out.println('Dictionary values are: 
'); //loop iterate over the values stored in the dictionary for(Enumeration enm = dict.elements(); enm.hasMoreElements();) { //prints the value System.out.println(enm.nextElement()); } System.out.println('
Dictionary keys are: 
'); //loop iterate over the keys stored in the dictionary for(Enumeration enm = dict.keys(); enm.hasMoreElements();) { //prints the keys System.out.println(enm.nextElement()); } } } 

Wyjście:

 Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101 

Różnica między klasą HashMap a klasą słownikową

Jawa HashMapa class i Dictionary spełniają podobną funkcję. Jedyna różnica polega na tym HashMap implementuje interfejs mapy, podczas gdy klasa Dictionary tego nie robi . Według dokumentacji Java klasa Dictionary nie jest już używana, ponieważ jest przestarzała. Zamiast klasy Dictionary używana jest klasa HashMap. Ponieważ możemy powiedzieć, że HashMap jest rodzajem słownika.