Junior — Middle
Miért nincs ismétlődő elem a Set adatszerkezetben?
sobes.tech MI
Válasz az MI-től
Java-ban az Set adatszerkezet nem enged meg ismétlődő elemeket, köszönhetően egy belső egyediség-ellenőrző mechanizmusnak. Új elem hozzáadásakor az Set az equals() és hashCode() metódusokat használja annak meghatározására, hogy az adott elem már létezik-e a gyűjteményben. Ha ugyanazzal a hash-kóddal és egyenlőséggel rendelkező elem már létezik, az újat nem adják hozzá.
Például a HashSet-ben az elemek egy hash-táblában vannak tárolva, ahol az elem maga a kulcs. Ez gyors keresést biztosít és megakadályozza a duplikációkat.
Set<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("apple"); // nem kerül hozzáadásra, mert az "apple" már létezik
System.out.println(set); // [apple, banana]