Hirdetés
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Milyen hagyományos (nem okos-) telefont vegyek?
- Fotók, videók mobillal
- Jolla és SailfishOS tapasztalatcsere
- iOS alkalmazások
- Huawei P30 Pro - teletalálat
- iPhone topik
- Xiaomi 15T Pro - a téma nincs lezárva
- MWC 2026: Kezünkben a Vivo V70, megvan a magyar ára is
Ú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?:))
- Androidos fejegységek
- Formula-1
- Micro Four Thirds
- TCL LCD és LED TV-k
- A fociról könnyedén, egy baráti társaságban
- Vezeték nélküli fülhallgatók
- Magga: PLEX: multimédia az egész lakásban
- Házimozi belépő szinten
- Gamepad
- Túlélnél egy generációs űrhajón? MIO: Memories in Orbit teszt
- További aktív témák...
- Logitech MX Master 3
- Xbox One S All-Digital Edition 1TB + kontroller + doboz szép állapot, kipróbálható
- LG UltraGear OLED 45GX950A 5K2K WOLED 3 év gyártoi garancia!
- Gamer / Munka PC i5-11600K 32GB DDR4 3200MHz 500GB Samsung NVMe SSD Arctic Vízhűtés
- Egyedi gépházad van? NINCS! Itt a lehetőség NONAME-1 ATX Gépház! Ingyen MPL-el
- iPhone 12 Mini 128GB 100% (3 Hónap Garancia)
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 12 Pro 128GB Pacific Blue- 1ÉV GARANCIA -Kártyafüggetlen, MS3948
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
Á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. 

