Ú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?:))
- Asztali PC , R7 5700 , RTX 3080 , 24GB DDR4 , 1TB NVME
- Secretlab MAGNUS Pro elektromos asztal - FULL EXTRÁS szett (2 monitor kar, PC tartó, kiegészítők...)
- Lenovo ThinkPad X1 Yoga GEN 9/14"WUXGA /2-in-1/Ultra 7/165U vPro/32GB/512GBB SSD/ÚJ/GARANCIA
- www.olcsogamerpc.hu - V055 - DDR4 - INTEL i5-14400F - 16GB RAM - RTX 5060 - 1TB SSD - HITELRE IS!
- www.olcsogamerpc.hu - V051 - DDR4 - INTEL i5-12400F - 16GB RAM - RTX 5060 - 1TB SSD - HITELRE IS!
- Lenovo ThinkPad X1 Extreme Gen3 i7-10750H 32GB 1000GB GTX1650-Ti 4K UHD 1 év gar
- iPhone 15 Pro Max 512GB 87% Esim-es verzió (3hónap Garancia) Kijelzőn pici folt!
- Eredeti DELL 330W töltők (ADP-330AB D)
- BESZÁMÍTÁS! ASRock B650M R7 8700F 32GB DDR5 512GB SSD RX 6800XT 16GB Zalman Z1 PLUS CM 750W
- MSI 17 Pulse FHD IPS 144Hz i7-13700H 14mag 16GB 512GB SSD Nvidia RTX 4060 8GB 140W Win11 Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


