- A fényes siker is lehet szög a koporsóban: gondban a MacBook Neo gyártása
- OLED TV topic
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Nem viszi sehova a Raptor Lake-et az Intel
- Vezetékes FEJhallgatók
- 3D nyomtatás
- 5.1, 7.1 és gamer fejhallgatók
- Milyen processzort vegyek?
- Melyik tápegységet vegyem?
- VR topik
Ú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?:))
- Fejhallgatós találkozó
- BestBuy ruhás topik
- A fényes siker is lehet szög a koporsóban: gondban a MacBook Neo gyártása
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Luck Dragon: Asszociációs játék. :)
- OLED TV topic
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Nem viszi sehova a Raptor Lake-et az Intel
- Call of Duty: Black Ops 7
- További aktív témák...
- 137 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080 (ELKELT)
- ASUS ROG Flow Z13 2in1 i9 / RTX 3050Ti / 120Hz GAMER TABLET!
- Sennheiser HD650 fejhallgató
- HP EliteBook 640 G10 - 14" FullHD IPS - i5-1335U - 8GB - 512GB - Win11 - 1 év garancia - MAGYAR
- Keresünk iPhone 15/15 Plus/15 Pro/15 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

