- eBay-es kütyük kis pénzért
- Bevezetés a wokok világába
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- weiss: Pant* rant
- Mr Dini: Mindent a StreamSharkról!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sh4d0w: Palpatine - A Terv
- N€T0X|N: SSD cserék
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Ú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?:))
- Újra instabilitásba futott a Raptor Lake generáció
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Amlogic S905, S912 processzoros készülékek
- Hardcore café
- Redmi Note 13 4G
- Milyen légkondit a lakásba?
- PlayStation 5
- WoW avagy World of Warcraft -=MMORPG=-
- Építő/felújító topik
- Xbox tulajok OFF topicja
- További aktív témák...
- UHH! Dell Precision 7560 Tervező Vágó Laptop -70% 15,6" i7-11850H 64/1TB NVIDIA A3000 6GB FHD
- Apple Watch Series 9 Celluláros
- Samsung Galaxy S25 Ultra 12/512GB, Titanium silver
- Nvidia RTX 4070 Gainward ghost Video Kártya
- Eladó HONOR 400 5G okostelefon 256 GB / 8 GB, Fekete alig használt, magyar garanciás
- DELL PowerEdge R630 rack szerver barebone - 2xSocket 2011v4 , 24x DDR4 DIMM, H330 RAID, 39369Ft+ÁFA
- AKCIÓ! HP Victus 16-R1002NF Gamer notebook - i7 14700HX 16GB RAM 1TB SSD RTX 4070 8GB WIN11
- LG 55C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
- Apple iPhone 14 Pro 128GB, Kártyafüggetlen,
- AKCIÓ! Dell Precision 5820 XL Tower PC - Xeon W-2123 112GB RAM 512GB SSD 1TB RX 580 8GB Win 11
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest