Hirdetés
- Apple MacBook
- Háremet tartana az adattárolókból a Chieftec letisztult dizájnú háza
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Projektor topic
- Kormányok / autós szimulátorok topikja
- Vezeték nélküli fülhallgatók
- Apple asztali gépek
- Vezeték nélküli fejhallgatók
- Milyen egeret válasszak?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
Ú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
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- ÚJ Lenovo Legion 5 - 15.1"WQXGA OLED 165Hz - Ryzen 7 260 - 24GB - 1TB - RTX 5060 - 3 év gari - HUN
- Gamer PC-Számítógép! Csere-Beszámítás! I7 7700K / GTX 1080 8GB / 16GB DDR4 / 500GB SSD
- Lenovo ThinkPad L460,HD+, 14",i5-6200U,8GB RAM,256GB SSD,WIN11
- Thinkpad X13 Gen5 13.3" FHD+ IPS Ultra 5 135U 16GB 256GB NVMe ujjlolv IR kam gar
- Logitech momo racing
- BESZÁMÍTÁS! AMD Ryzen 7 5800X3D 8 mag 16 szál processzor garanciával hibátlan működéssel
- Windows 10 / 11 Pro Retail aktiváló kulcs Azonnal szállítással, számlával, garanciával!
- HIBÁTLAN iPhone 15 Pro 128GB Natural Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS4538
- Apple MacBook Pro 14 (2021) M1 Pro 16GB/500GB használt, szép állapot 87% akku (323 ciklus)
- Eladó Honor 70 8/128GB / 12 hó jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
), é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. 

