Hirdetés
Új hozzászólás Aktív témák
-
válasz
DreaD88
#3153
üzenetére
Definiáld felül a háromszög osztályban az Object ősosztály equals metódusát, és akkor adjon vissza igazat, ha a két háromszög területe megegyezik. Így amikor hozzáadogatod a háromszögeket a HashSet-hez, azok nem kerülnek bele a halmazba, amelyeknek a területe már szerepel.
Kódban ez vhogy így néz ki (nálam most a háromszög osztályt Triangle-nek hívják):
@Override
public boolean equals(Object o) {
if (o instanceof Triangle) {
Triangle t = (Triangle) o;
if (t.getArea() == getArea()) {
return true;
}
}
return false;
}
// A hashCode metódust is illik felüldefiniálni,
// ha az equals-t felüldefiniálod. Az a lényeg,
// hogy egyezzen meg annak a két objektumnak a hashkódja,
// amelyekre az equals igazat ad vissza.
@Override
public int hashCode() {
return (int) getArea(); // ezt lehet máshogy is, de a célnak megfelel
} -
Lacces
őstag
válasz
DreaD88
#3153
üzenetére
Én úgy tudom, hogy alapból csak egyet is rak bele. És ezért lassú az elem beillesztése, de gyors az elem visszaadása. De mindig van tőlem okosabb a fórumban, érdemes rájuk várni

Amúgy itt találsz példákat a hashset műveletekhez, ha lejebb mész, akkor látsz még további témákat, remove, add, select stb.
Van a
Set h = new HashSet();
HashSet<Integer> h = new HashSet() típusú is
-
Karma
félisten
válasz
DreaD88
#3153
üzenetére
Ha a "hashset-be adom meg" alatt azt érted, hogy létrehozol egy HashSetet, konstruktorban átadva a már meglévő kollekciódat; a "mindenből csak egyet ad vissza" alatt meg iterációt (foreach vagy manuális iteráció, mindegy) akkor igaz.
Azzal a kitétellel, hogy az elemek sorrendje összezilálódhat, mert semmi garancia nincs. Ha azt akarod, hogy a sorrend is megmaradjon, LinkedHashSetet használj.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Teljes verziós játékok letöltése ingyen
- Yettel topik
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Bambu Lab 3D nyomtatók
- OLED monitor topic
- Dalra fakad, zenét szerez a Gemini
- Elektromos autók - motorok
- Magga: PLEX: multimédia az egész lakásban
- World of Tanks - MMO
- További aktív témák...
- Eladó ÚJ WD PC SN740 1TB NVMe SSD (PCIe 4.0)
- 2190 db dokkoló listája - Sokhoz töltő is van
- GARANCIÁLIS MSI Bravo // RTX 4060 // Ryzen 7 7735HS // 1TB SSD // 16GB RAM
- Bontatlan Dobozos Lenovo Thinkpad E16 G3 Fémházas Laptop 16" -35% Ryzen 5 220 16/512 740M 2GB FHD+
- ÚJ BONTATLAN MacBook Pro 14 - 16" M4 M5 MAGYAR Billentyűzet Azonnal átvehető DEÁK TÉRNÉL garanciával
- Samsung Galaxy A32 5G / 4/128GB / Kártyafüggetlen / 12Hó garancia
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- iPhone 13 mini 128GB 100% (1év Garancia)
- Lenovo ThinkPad T14 Gen2 Intel i5-1135G7 Refurbished - Garancia
- Intel Xeon E5-2600v4 processzorok készleten 2680v4,2683v4,2697v4,2697Av4(áfás számla, 2 év garancia)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



