Ú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?:))
- Revolut
- eBay-es kütyük kis pénzért
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Erőgép kompakt tábla formájában a Redmitől
- Xiaomi 13 - felnőni nehéz
- Kerékpárosok, bringások ide!
- Samsung Galaxy Watch7 - kötelező kör
- Milyen egeret válasszak?
- Társasház, szomszédok, zajok, együttélés.
- Anglia - élmények, tapasztalatok
- További aktív témák...
- UF Lenovo Yoga 9i x360 Érintős Hajtogatós Laptop Tab 14" -60% i7-1360P 16/1TB Iris Xe 2,8K OLED 90Hz
- Lenovo Yoga 9i x360 Érintős Hajtogatós Laptop Tab 14" -60% i7-1260P 16/512 Iris Xe 2,8K OLED 90Hz
- Új DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -40% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Új DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -40% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Sony FE 28-70 mm F3.5-5.6 OSS
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Samsung Galaxy A52s 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! HP USB C G5 Essential (5TW10AA) dokkoló hibátlan működéssel garanciával
- Samsung Galaxy A35 5G 128GB Kártyafüggetlen 1Év Garanciával
- Noblechairs HERO RL valódi bőr Gamer Szék
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged