Hirdetés
- Vezeték nélküli fülhallgatók
- Apple MacBook
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Kormányok / autós szimulátorok topikja
- Szünetmentes tápegységek (UPS)
- Fejhallgató erősítő és DAC topik
- VR topik (Oculus Rift, stb.)
- Augusztusi hardverszuflé
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- OLED TV topic
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Ú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!
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Miért álltak az oldalak egy hétig, mi történt?
- Vezeték nélküli fülhallgatók
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Allegro vélemények - tapasztalatok
- Gumi és felni topik
- Apple MacBook
- Autós topik
- PlayStation 5
- További aktív témák...
- Eladó billentyűzet csomag!
- WD Red Pro 6TB (WD6003FFBX, 7200rpm, 256MB, CMR) 353 nap futásidő - garancia: 2028.02.29ig
- MacBook Pro Retina 13" M2 Chip 16GB RAM / 512 SSD / Magyar / 60 nap garancia
- GAMER SZÁMÍTÓGÉPEK GARANCIÁVAL/SZÁMLÁVAL, AKCIÓS ÁRON!!! LEGOLCSÓBB SZÁMLÁS ÁR!
- Gainward 1660Ti 6GB Csavarmatricás / Beszámítás OK!
- Keresünk dokkolókat
- Új Dell 13 XPS 9315 Touch 4K+ HDR DolbyVision i7-1250U 10mag 16GB 512GB Intel Iris XE Win11 Garancia
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
- Azonnali készpénzes félkonfig / félgép felvásárlás személyesen / csomagküldéssel korrekt áron
- LG 32GR93U-B - 32" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDR 400
Állásajánlatok
Cég: FOTC
Város: Budapest