Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Czimby: XFX RX9070XT Quicksilver vs Mercury(non OC)
- Tóth Olivér: Kedvenc processzorok:
- Klaus Duran: Panelkérdés.
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- gerner1
Új hozzászólás Aktív témák
-
Szmeby
tag
Remek... letelt az időkorlát. -.-
Szóval azt még elfelejtettem, hogy ha Set-re váltasz, akkor a Point.equals mellett a Point.hashcode-ot is implementálnod kell. Az IDE elvégzi helyetted, de a lényeg:
A HashSet úgy működik, hogy a beletolt objektumra először hashcode-ot számol, ez csak egy szám. Ehhez a hashcode-hoz létrehoz egy izét, nevezzük vödörnek, és ebbe a vödörbe dobja bele az objektumodat.
Ha egy újabbat adnál hozzá, akkor arra is hashcode-ot számol, és csak az adott hashcode-hoz tartozó vödörrel foglalkozik, végigmászik a vödör tartalmán, az equals-szal csekkolja, hogy benne van-e már, és ha talált, akkor nem teszi bele újra.
Ha a hashcode számítást elcseszed, akkor előfordulhat olyan, hogy van 2 objektumod, ami az equals szerint azonos, de a hashcode szerint nem. Mindkettő bele fog kerülni a Set-be (!!), mert a másik az eltérő hashcode miatt másik vödörbe kerül. Ilyet sose csinálj.
Vagy például megváltozik az objektumod állapota (mondjuk most nem, mert minden final, de máskor, mással, másnál igen
), és a megváltozott állapot miatt megváltozhat a hashcode is. Na az az objektumod, ha benne volt egy set-ben, akkor ott is marad, sose találod meg. Vicces dolgok ezek. 
Gondolhatnád, hogy akkor legyen a hashcode mindig 1, abból baj nem lehet. Jó gondolat, de lassú lesz, épp azért szegmentálunk sok kis vödörre relatíve kis számításigényű megoldásokkal, hogy csak egy kis vödör tartalmán kelljen végigsuhanni, gyorsan el lehet dönteni, hogy valami benne van-e abban a Set-ben avagy sem.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- sziku69: Fűzzük össze a szavakat :)
- OLED TV topic
- AI fókuszú rendszerchipekkel köszönt be a Mediatek
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Házimozi belépő szinten
- Luck Dragon: Asszociációs játék. :)
- Samsung kuponkunyeráló
- Az elmúlt 30 év legjobb processzorai
- Gaming notebook topik
- Sorozatok
- További aktív témák...
- Xbox Series S 512Gb Digital Edition, 24 hónap Garancia, Fehér Színben, Dobozában
- Nintendo Switch OLED, 12 hónap Garancia, Fekete Színben, Dobozában
- Bomba ár! MacBook PRO 16 M1 CHIP magyar 16GB/1024GB SSD!! Alig használt! Akkumlator 97%!
- Benq ZOWIE XL2746K TN 240Hz DyAc 27 Inch Gaming Monitor for Esports
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3060 12GB / 16GB D4 / 256+512GB SSD
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- Samsung Galaxy S20 128GB,Átlagos,Adatkabel,12 hónap garanciával
- 134 - Lenovo Legion Pro 7 (16IRX8H) - Intel Core i9-13900HX, RTX 4090
- Meta Quest 2 Virtuális valóság szemüveg! 128GB
- Új könyv: Harrari: Sapiens Rajzolt történelem
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
), és a megváltozott állapot miatt megváltozhat a hashcode is. Na az az objektumod, ha benne volt egy set-ben, akkor ott is marad, sose találod meg. Vicces dolgok ezek. 

