Клас HashMap використовує хеш-таблицю для втілення інтерфейсу Map. При цьому часу виконання операцій get і put є сталим навіть для великих множин.
Конструктори HashMap-
HashMap — створює стандартний HashMap.
-
HashMap(m) — створює та ініціалізує HashMap, використовуючи елементи m (клас Map).
-
HashMap(n) — створює та ініціалізує ємність HashMap значенням n (тип int).
-
HashMap(n, r) — створює HashMap та ініціалізує ємність значенням n (тип int) і коефіцієнт заповнення значенням r (тип float).
Методи HashMap
(додатково до методів, успадкованих від батьківських класів)-
clear() — видаляє всі пари.
-
clone() — повертає копію без клонування ключів і значень.
-
containsKey(k) — повертає true, якщо відображення містить об'єкт k як ключ, інакше повертає false.
-
containsValue(v) — повертає true, якщо відображення містить об'єкт k як значення, інакше повертає false.
-
entrySet() — повертає подання відображення множиною (клас Set).
-
get(k) — повертає об'єкт-значення для об'єкта-ключа k або null, якщо такого ключа немає.
-
isEmpty() — повертає true, якщо відображення порожнє, тобто не містить жодної пари.
-
keySet() — повертає подання множиною (клас Set) ключів відображення.
-
put(k, v) — ставить у відповідність об'єкту-ключу k об'єкт-значення v, повертає попереднє зачення, що відповідає ключу k.
-
putAll(m) — вставляє пари відображення m (клас Map). При збігу ключів — заміна на пару з m.
-
remove(k) — видаляє пару з об'єктом-ключем k, повертає об'єкт-значення відповідної пари.
-
size() — повертає кількість пар ключ-значення.
-
values() — повертає подання значень колекцією (клас Colection).
Див. приклад коду
package work;
import java.util.*;
public class Work
{ public static void main(String args[])
{ HashMap m = new HashMap();
m.put("c", (int) 3);
m.put("b", (int) 2);
m.put("a", (int) 1);
System.out.println(m+" "+m.keySet()+" "+m.entrySet()+" "+m.size());
if (m.containsKey("c")) {System.out.println("Є ключ \"с\"");}
else {System.out.println("Немає ключа \"с\"");}
if (m.containsKey("d")) {System.out.println("Є ключ \"d\"");}
else {System.out.println("Немає ключа \"d\"");}
if (m.containsValue(1)) {System.out.println("Є значення 1");}
else {System.out.println("Немає значення 1");}
if (m.containsValue(0)) {System.out.println("Є значення 0");}
else {System.out.println("Немає значення 0");}
m.put("d", 1+ (int) m.get("c"));
m.remove("a");
System.out.println(m);
}
}
з таким виведенням
{a=1, b=2, c=3} [a, b, c] [a=1, b=2, c=3] 3
Є ключ "с"
Немає ключа "d"
Є значення 1
Немає значення 0
{b=2, c=3, d=4}