Új hozzászólás Aktív témák
-
modder
aktív tag
válasz
Superhun
#3157
üzenetére
Én nem keverném ezt bele, mert az equals()-nak és a hashCode()-nak az egyedet kell tudnia azonosítania, és nem egyetlen tulajdonságát. Végtelenféle háromszöget lehet ugyanazzal a területtel. Szóval ez ellent mond a Java equals()-ra és hashCode()-ra vonatkozó contractjának.
Nem is adna jó eredményt, mert a terület nagy valószínűséggel Float lesz, amit nem tudsz még javában sem alapból úgy összehasonlítani, hogy mindig jó eredményt kapj, pláne nem az == operátorral:
http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Float.html#equals(java.lang.Object)Nem tudom mire kell itt a HashSet, de én úgy oldanám meg a dolgot memóriahatékonyan, hogy:
1) csinálok egy ArrayList<Haromszog> haromszogek listát
2) csinálok egy másik ArrayList<Float> teruletek listát
3) ahogy generálom a háromszögeket a ciklusban, egy belső ciklusban minden legenerált háromszögre végigmegyek a 'területek' összes elemén és megnézem, hogy benne van-e az új háromszög területe, így:
if(Math.abs( aktualisTerulet - ujHaromszogTerulet) < 0.001f)
benne van
else
nincs benne, hozzáadom a háromszögekhez a háromszöget, és hozzáadom a az ujHaromszogTeruletet a teruletekhezHa pontosabb float egyenlőség vizsgálat kell, ezt találtam neten http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
esetleg gyorsabban futó megoldást is találhatsz, ha valamilyen orderes listet használsz pl http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Collections.html#binarySearch(java.util.List, java.lang.Object, java.util.Comparator) -vel keresel a területek között
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- BestBuy topik
- One mobilszolgáltatások
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- mefistofeles: Az elhízás nem akaratgyengeség!
- Házi hangfal építés
- Elbaltázott tankolás miatt csúszik a NASA Holdutazása
- Gaming notebook topik
- Samsung Galaxy S25 - végre van kicsi!
- Autós topik
- Honda topik
- További aktív témák...
- Iphone 8 64Gb Space Gray-újszerű állapotban
- Intel Core i3-10105 / Gold G6400T / garancia / számla
- Lenovo Thinkpad T14 Ryzen 5 4650u/8GB/256GB SSD/14"FHD laptop
- Gamer PC - R5 5500, RTX 3060, 16gb RAM + GARANCIA
- Bontatlan Intel Core ULTRA 9 285K (24mag!) + hűtött VRM-es Z890 alaplap! GAR/SZÁMLA (a Te nevedre)!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Apple iPhone 12 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Apple iPhone 14 Pro 128GB mobiltelefon garanciával hibátlan működéssel
- Apple iPhone 12 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! LG 29WP60G-B 29 75Hz IPS UWFHD 1ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest

