logo

Словник класу в Java

У Java, Словник це список пар ключ-значення. Ми можемо зберігати, отримувати, видаляти, отримувати та поміщати значення в словник за допомогою класу Java Dictionary. У цьому розділі ми обговоримо Java Словник клас, який зберігає дані в парах ключ-значення так само, як інтерфейс Map.

Клас словника Java

Java Словник клас є абстрактним класом-батьком будь-якого класу. Це належить java.util пакет. Його прямим відомим підкласом є Хеш-таблиця клас. Як і клас Hashtable, він також відображає ключі на значення. Зауважте, що кожен ключ і значення є об’єктом, а будь-який ненульовий об’єкт можна використовувати як ключ і значення. Ієрархія класів словника така:

приклад формату json
Словник класу в Java

Кожен ключ пов’язано щонайбільше з одним значенням, як показано на малюнку нижче. Коли значення збережено в об’єкті словника, ми можемо отримати його за допомогою ключа.

Словник класу в Java

Синтаксис:

 public abstract class Dictionary extends Object 

Примітка: клас застарів. Отже, реалізуйте інтерфейс карти замість розширення класу.

Конструктор класу словника

Клас має лише конструктор, який називається a підошва конструктор.

Синтаксис:

 public Dictionary() 

Словник Методи класу

Усі методи класу Dictionary є анотація . У наступній таблиці описані методи.

метод опис
public abstract Enumeration elements() Він повертає перелік значень у цьому словнику. Повернений об’єкт enum генерує всі елементи, що містяться в записах цього словника.
public abstract V get (об'єктний ключ) Він повертає значення, якому зіставлено ключ у цьому словнику. Він аналізує об’єкт (ключ) у цьому словнику. Зауважте, що якщо цей словник містить запис для вказаного ключа, повертається відповідне значення; інакше повертається значення null. Він викидає NullPointerException, якщо ключ нульовий.
загальнодоступний абстрактний логічний isEmpty() Метод перевіряє, чи не зіставляє цей словник ключі зі значенням. Він повертає істину тоді і тільки якщо цей словник не містить записів, інакше повертає хибність.
відкритий абстрактний ключ перерахування() Він повертає перелік ключів у цьому словнику. Повернений об’єкт enum генерує всі ключі, для яких цей словник містить записи.
відкритий абстрактний V put (клавіша K, значення V) Метод використовується для вставки пари ключ-значення в словник. Він відображає вказаний ключ на вказане значення в цьому словнику. Зауважте, що ні ключ, ні значення не можуть бути нульовими.
Якщо словник уже містить запис для вказаного ключа, повертається значення, яке вже є в цьому словнику для цього ключа, після зміни запису, щоб містити новий елемент.
Якщо словник ще не має запису для вказаного ключа, запис створюється для вказаного ключа та значення, і повертається значення null.
Він аналізує ключ і значення як параметр. Він викидає NullPointerException, якщо ключ або значення є null.
відкритий абстрактний V видалити (об'єктний ключ) Метод аналізує ключ, який ми хочемо видалити. Він видаляє ключ і пов’язане значення. Зауважте, що метод нічого не робить, якщо ключа немає в словнику. Він викидає NullPointerException, якщо ключ нульовий.
public abstract int size() Він повертає кількість записів (окремих ключів) у цьому словнику.

Програми-словники Java

Використання методу Dictionary.put().

Метод put() вставляє елементи в словник. Наступна програма демонструє те саме.

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

Вихід:

рядок java indexof
 {108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney} 

Використання методу Dictionary.size().

Розмір словника - це кількість елементів, які містить словник. У наступній програмі розмір словника становить 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()); } } 

Вихід:

 The size of the dictionary is: 6 

Використання методу Dictionary.get().

Використовуючи метод get(), ми можемо отримати значення вказаного ключа.

видалити файл в java

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

Вихід:

 The value of the specified key is: Melbourne 

Використання методу Dictionary.isEmpty().

Він повертає true, якщо словник порожній, інакше повертає false.

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

Вихід:

 Is the dictionary empty? false 

Використання методу Dictionary.remove().

Метод видаляє ключ і відповідне значення, які ми розібрали в методі. Вилучене значення повертається методом.

java elseif

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

Вихід:

 The removed value is: Mount Gambier 

Використання методів elements() і key().

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

Вихід:

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

Різниця між класом HashMap і Dictionary

Ява HashMap клас і клас Dictionary виконують однакову функцію. Єдина різниця в тому, що HashMap реалізує інтерфейс карти, а клас Dictionary — ні . Відповідно до документації Java, клас Dictionary більше не використовується, оскільки він застарів. Замість класу Dictionary використовується клас HashMap. Так як можна сказати, що HashMap є різновидом словника.