Hirdetés
- Szívós, szép és kitartó az új OnePlus óra
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Hivatalos a OnePlus 13 startdátuma
- Milyen okostelefont vegyek?
- Poco F7 – bajnokesélyes
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy Watch6 Classic - tekerd!
- Google Pixel topik
- Fotók, videók mobillal
- Vivo X200 Pro - a kétszázát!
Ú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?:))
- Luck Dragon: Asszociációs játék. :)
- Hobby rádiós topik
- Bittorrent topik
- sziku69: Szólánc.
- Suzuki topik
- Casco és kötelező gépjármű felelősségbiztosítás
- Soundbar, soundplate, hangprojektor
- Szívós, szép és kitartó az új OnePlus óra
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Robotporszívók
- További aktív témák...
- HP Pavilion 15-bc512nh (Core i7-9750H / 24GB DDR4 / 512GB / GTX1650 4GB / Win11) ÁFA, Garancia
- Huawei SUN-2000 6KTL-L1 napalem inverter eladó
- iPhone 16 PRO 256GB 3 hetes!! fehér titán MEDIAMARKT számla! 2028 október 24-ig Apple garancia!
- iPhone 14 PRO 128GB Vadonatúj gyári Apple akkumlátor! Gyönyörű! Fulldoboz!
- HP OMEN X 24' TN 240Hz
- Lenovo ThinkPad T14 Gen1 Ryzen5 4650U Refurbished
- Eladó Samsung Galaxy S21 FE 5G 6/128GB / 12 hó jótállás
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3447, 94% Akkumulátor
- HIBÁTLAN iPhone 14 Plus 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3659, 100% Akksi
- HIBÁTLAN iPhone 13 256GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3663, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
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. 


