Minulla on ArrayListissä Color-objekteja. Onko jollakulla mitään ideaa siitäsaisin tilastoitua kunkin värin esiintyvyyden?
Vastaukset 5
- värikäs?
Eli HashMap. Jos väri ei löydy, sijoitetaan siihen 1. Muutoin lisätään. Ei pitäisi olla monimutkaista.
Suurilla kuvilla tämä voi viedä erittäin paljon muistia, ehkä noin 80 tavua jokaista erillaista väriä kohti. Color-luokka on vähintään 36 tavua, HashMap- entry 28 tavua ( tyhjät solut taulukossa, HashMap yrittää muistaakseni pitää 50% käyttöastetta), Integer-objekti 16 tavua. Tavumäärät voivat heittää hieman, en laskenut niin tarkkaan, mutta lähellä niiden pitäisi olla. 64-bittisellä JVM:llä luultavasti lähemmäksi 120 tavua, näin hatusta heitettynä.
Jos värit ovat 8 8 8 bittisiä (sRGB yms. 24-bittiset) ja niitä on paljon, voi olla suorituskyvyn kannalta nopeampaa varata 2^24 taulukko int[256*256*"256] = 48 MB, jota indeksoidaan (red- tilastoja
Juu, täytynee tutkia. Viitsisitkö heittää vielä vähän koodia tuosta HashMapista?
- tilastoja
tilastoja kirjoitti:
Juu, täytynee tutkia. Viitsisitkö heittää vielä vähän koodia tuosta HashMapista?
Jos HashMap sisältää objektin Color, lisätään avaimeen yksi, mutta miten?
- tilastoja
tilastoja kirjoitti:
Jos HashMap sisältää objektin Color, lisätään avaimeen yksi, mutta miten?
muuttujassa varit on väri-objektit. Miten saan lisättyä Integeriin yhden? Vai pitäisikö koko Integer korvata jollain muulla? Ongelma siis on seuraavan ehtolauseen jälkeen: if (y.containsKey(varit.get(x)) . Miten tästä jatketaan.
HashMap y = new HashMap();
for (int x=0;x - tilastoja
tilastoja kirjoitti:
muuttujassa varit on väri-objektit. Miten saan lisättyä Integeriin yhden? Vai pitäisikö koko Integer korvata jollain muulla? Ongelma siis on seuraavan ehtolauseen jälkeen: if (y.containsKey(varit.get(x)) . Miten tästä jatketaan.
HashMap y = new HashMap();
for (int x=0;xOho, koodi katkesi kesken edellisessä viestissä. Tuli mieleeni, että jos arvon kasvattamiseksi yhdellä ei käy muutoin, kun luomalla joka kerta uusi Integer-objekti, on tämä selvää muistin haaskaamista. Pakko löytää tehokkaampi keino.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Herkkyydestä
Toisessa ketjussa toivottiin keskustelua herkkyydestä. Aloitan omalla näkemykselläni. Mielestäni herkät ihmiset ovat l236738- 67645
Arvaako kukaan?
"Humalojalla metalliromun keräyspaikalla on kulkenut pitkin kevättä ja kesää joku henkilö, joka on vienyt sieltä kymmeni36610Tuntuu pahalta meidän molempien puolesta
Anteeksi, että olen tällainen pelkuri. En vaan usko rakkauteen enää miehen ja naisen välillä omalla kohdalla. Tiedän, et34538En pyytele enää koskaan anteeksi mitään sinulta
Olet ollut kohtuuttoman kylmä ja tyly tilanteeseen nähden.45417- 38416
- 30414
Olen kiinnostunut sinusta, en seksistä
Vihjailuja toiseen suuntaan on tullut niin paljon, että asia on korjattava. En näe sinua esineenä, vaan hienona persoona27396- 37377
- 41361