Клас HashSet розширює AbstractSet, втілює інтерфейс Set, створює колекцію, яка використовує хеш-таблицю для зберігання даних.
Конструктори HashSet
-
HashSet() — створює стандартний HashSet.
-
HashSet(c) — створює HashSet та ініціалізує його елементами колекції с.
-
HashSet(n) — створює HashSet та ініціалізує ємність хеш-набору числом n (тип int).
-
HashSet(n, r) — створює HashSet та ініціалізує ємність n (тип int) і коефіцієнт заповнення r ∈ (0, 1) (тип float). Коли кількість елементів більша, ніж добуток ємності хеш-множини і коефіцієнта заповнення, ємність буде збільшено.
Методи HashSet
(додатково до успадкованих з батьківських класів)-
add(o) — додає об'єкт o, якщо він ще не присутній, і повертає true. Інакше повертає false.
-
clear() — видаляє всі елементи.
-
clone() — повертає копію представника HashSet: елементи не буде клоновано.
-
contains(o) — повертає true, якщо набір містить об'єкт o, інакше повертає false.
-
isEmpty() — повертає true, якщо набір порожній, інакше повертає false.
-
iterator() — повертає ітератор елементів набору (Iterator).
-
remove(o) — видаляє об'єкт o з набору, якщо він присутній, і повертає true. Інакше повертає false.
-
size() — повертає кількість елементів (тип int) набору.
Див. приклад коду
package work;
import java.util.*;
public class Work
{ public static void main(String args[])
{ HashSet h = new HashSet();
System.out.println("Набір "+h+" містить "+h.size()+" елементів.");
h.add("B");
h.add("A");
h.add(2);
h.add(3.3);
System.out.println("Набір "+h+" містить "+h.size()+" елементи.");
h.remove("B");
h.remove(3.3);
h.remove(4);
System.out.println("Набір "+h+" містить "+h.size()+" елементи.");
if (h.contains(5)) {System.out.println("Містить 5");}
else {System.out.println("Не містить 5");}
if (h.contains(2)) {System.out.println("Містить 2");}
else {System.out.println("Не містить 2");}
}
}
з таким виведенням
Набір [] містить 0 елементів.
Набір [A, B, 2, 3.3] містить 4 елементи.
Набір [A, 2] містить 2 елементи.
Не містить 5
Містить 2