Hirdetés
- gban: Ingyen kellene, de tegnapra
- valakiyt: Az Iobit programok - el kéne engedni
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- bobalazs: i5 4690 + RX 460 HTPC
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: MárkaLánc
- aquark: Zsebszámológépek
- Oldman2: A KOReader ebook olvasó program
Ú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?:))
- Kerékpárosok, bringások ide!
- Kuponkunyeráló
- Revolut
- Samsung Galaxy Felhasználók OFF topicja
- PlayStation 5
- Gaming notebook topik
- MacBook Neo vs MacBook Air – Megéri a félár?
- Nvidia GPU-k jövője - amit tudni vélünk
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Monitorkalibráló eszközök
- További aktív témák...
- Realme GT 8 Pro Urban Blue 16/512GB MediaMarkt garancia 2029.02.02.-ig
- Xiaomi 15 Black 12/512GB használt 6 hónap garancia
- Legion Pro 5 16IRX10 16" QHD+ IPS i9-14900HX RTX 5070 32GB 512GB NVMe gar
- Realme GT 7 Pro 5G Mars Orange 12/256GB használt karcmentes 6 hónap garancia
- HP Zbook Studio G5 - 15,6" UHD kijelző, Xeon E-2176M, 16GB RAM, 512GB SSD, Quadro P1000 4GB, számla
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS4649
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS4574
- Xiaomi 15 Black 12/512GB használt 6 hónap garancia
- Samsung Galaxy S10e 128GB, Kártyafüggetlen, 1 Év Garanciával
- WiFi hiba? Internet szakadozik? Hálózati IT segítség
Á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. 
