Clasa java.util.HashSet implementeaza interfata java.util.Set. Instantele acestei clase sunt multimi implementate ca tabele de dispersie. Datorita acestui fapt, operatiile de cautare si punere (adaugare) a unui element au complexitatea O(1).
Clasa HashSet extinde clasa java.util.AbstractSet, deci mosteneste toate
metodele acesteia. La fel ca in cazul claselor ArrayList si Vector, capacitatea
tabelului de elemente este variabila: la construirea instantei clasei HashSet
se aloca un tablou de referinte la obiecte cu o anumita capacitate initiala.
Daca insa, in timpul executarii programului, factorul de umplere depaseste
o valoare limita, se aloca automat un nou tablou de capacitate mai
mare. Atat capacitatea initiala, cat si valoarea limita a factorului de
umplere pot fi impuse prin program sau pot fi date implicit.
Clasa HashSet are urmatorii constructori:
public HashSet() - construieste o tabela de dispersie cu capacitate initiala data implicit si cu limita factorului de umplere 0.75; public HashSet(Collection c) - construieste o tabela de dispersie care contine toate elementele colectiei c, are capacitatea dubla fata de numarul de elemente din c, iar factorul de umplere limita este 0.75; public HashSet(int initialCapacity, float loadFactor) - construieste o tabela de dispersie, avand capacitatea initiala si factorul de umplere limita date; public HashSet(int initialCapacity) - construieste o tabela de dispersie cu capacitate initiala data si cu factorul de umplere limita 0.75. Clasa HashSet mosteneste toate metodele clasei AbstractSet, dar are
urmatoarele metode redefinite:
Exemplu
|