Клас Hashtable — хеш-таблиця — частина java.util, конкретне втілення Dictionary.
Hashtable втілює інтерфейс Map. Інтегрований у структуру колекцій. Схожий на HashMap, але синхронізований.
Використовуючи Hashtable, вказують об'єкт-ключ та об'єкт-значення, пов'язане з цим ключем. Потім ключ хешують, а отриманий хеш-код використовується як індекс, у якому значення зберігається у таблиці.
Конструктори HashTable
-
Hashtable() — створює порожній представник класу Hashtable;
-
Hashtable(n) — створює хеш-таблицю з початковим розміром n (тип int);
-
Hashtable(n, r) — створює хеш-таблицю з початковим розміром n (тип int) і коефіцієнтом заповнення r (тип float), який має набувати значень між 0 і 1 і який визначає, наскільки повною може бути хеш-таблиця, перш ніж буде змінено її розмір;
-
Hashtable(Map < ? extends K, ? extends V > t) — будує Hashtable із зазначеними відображеннями.
Методи Hashtable (додатково до методів, визначених інтерфейсом Map)
-
clear() — очищає хеш-таблицю;
-
clone() — повертає копію викликаного об'єкта;
-
contains(v) — повертає true, якщо значення об'єкта v збігається зі значенням, що є в хеш-таблиці. Повертає false, якщо такого значення немає;
-
containsKey(k) — повертає true, якщо значення об'єкта k дорівнює ключу, що є в хеш-таблиці. Повертає false, якщо такого ключа немає;
-
containsValue(v) — повертає true, якщо значення об'єкта v збігається зі значенням, що є в хеш-таблиці. Повертає false, якщо такого значення немає;
-
elements() — повертає перелік (Enumeration) значень, що містяться у хеш-таблиці;
-
get(k) — повертає об'єкт-значення, що відповідає ключу k. Якщо такого ключа немає у хеш-таблиці, повертає null;
-
isEmpty() — повертає true, якщо хеш-таблиця порожня, інакше повертає false;
-
keys() — повертає перелік (Enumeration) ключів, що містяться у хеш-таблиці;
-
put(k, v) — вставляє пару (k, v) у хеш-таблицю. Повертає null, якщо ключа ще немає в хеш-таблиці, інакше повертає попереднє значення, пов'язане з ключем k;
-
rehash() — збільшує розмір хеш-таблиці та перевизначає всі її ключі;
-
remove(k) — видаляє пару з ключем k, повертає значення, пов'язане із ключем k. Якщо ключ k відсутній у хеш-таблиці, повертає null;
-
size() — повертає кількість записів у хеш-таблиці;
-
toString() — повертає рядковий еквівалент хеш-таблиці.
Див. приклад коду
package work;
import java.util.*;
public class Work
{ public static void main(String args[])
{ Hashtable h = new Hashtable();
Enumeration names;
String s;
double bal;
h.put("Адам", 333.33);
h.put("Шандор", 22.2);
h.put("Тарас", 1.);
if (h.contains(1.)) {System.out.println("Є значення 1.");}
else {System.out.println("Значення 1 немає.");}
if (h.containsKey("Олег")) {System.out.println("Є ключ Олег.");}
else {System.out.println("Ключа Олег немає.");}
names = h.keys();
while(names.hasMoreElements())
{ s = (String) names.nextElement();
System.out.println(s + ": " + h.get(s));
}
h.put("Тарас", (Double) h.get("Тарас") + 1000);
h.remove("Шандор");
System.out.println(h);
}
}
з таким виведенням.
Є значення 1.
Ключа Олег немає.
Адам: 333.33
Шандор: 22.2
Тарас: 1.0
{Адам=333.33, Тарас=1001.0}