mitä luokkaa käytän?

nopea tiedonhaku

mulla on iso lista string-objekteja ja haluan että tiedonhaku listasta on nopeaa. en halua käyttää vector enkä arraylist luokkaa, koska siinä jos etsitään alkioita, verrataan merkkijonoja merkki kerrallaan. sen sijaan haluaisin, että kun listaan änkeää uuden olion, se luo automaattisesti siitä hash-koodin ja hakee oliota sen mukaan. hashmap luokassa voi lisätä olioita key-arvon kanssa, mutta haluan sellaisen luokan missä key-arvo syntyy automaattisesti kun olion lisää listaan (eli metodi add(Object o) vain, ja luokka pitää sisäistä hashkoodi-dataa). mikä luokka javassa vastaa parhaiten tarkoitusta?

3

361

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Piru_

      Saat ainakin mitä haluat.

      Teet luokan jonka sisällä on se HashMap. Teet luokkaan metodin add, joka ottaa parametrina objectin. Lasket siitä hashin ja pistät objection hashmappiin hashin toimiessa keynä.

      get-metodissa haet sitten sillä hashillä sieltä mapista.

      Itse hashin vertailu tehdään myös merkki kerrallaan, että nopeushyötyä ei varmaan saa hirveenä lyhyillä stringeillä

      • vastauksen

        aina kun haen javasta jotain sellaista minkä siihen pitäisi ilman muuta kuulua automaattisesti, niin sitä ei löydy :/ eipä tuo ole kummoinen homma ite tehdä, mutta jos implementaatio on jo valmiiksi frameworkissa, käytän ilman muuta sitä (on vain aika laaja ja sekava tuo dokumentaatio).

        no, tässä tapauksessahan hashkoodit on kokonaislukuja, eli kyllä niiden vertailu reippaasti nopeampaa on.


      • fidel1
        vastauksen kirjoitti:

        aina kun haen javasta jotain sellaista minkä siihen pitäisi ilman muuta kuulua automaattisesti, niin sitä ei löydy :/ eipä tuo ole kummoinen homma ite tehdä, mutta jos implementaatio on jo valmiiksi frameworkissa, käytän ilman muuta sitä (on vain aika laaja ja sekava tuo dokumentaatio).

        no, tässä tapauksessahan hashkoodit on kokonaislukuja, eli kyllä niiden vertailu reippaasti nopeampaa on.

        Noh, kannattaisi varmaan kuitenkin lueskella niitä API-dokumentteja vähän tarkemmin, vaikka täältä: http://java.sun.com/j2se/1.5.0/docs/api/

        Sieltä voisi löytyä esim. kiva pikku luokka nimeltä java.util.HashSet, joka toimii juuri niinkuin halusit.

        Silvuplee.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Porvarimediat paniikissa demareiden huiman kannatuksen vuoksi

      Piti sitten keksiä "nimettömiin lähteisiin" perustuen taas joku satu. Ovat kyllä noloja, ja unohtivat sen, että vaalit
      Maailman menoa
      110
      6887
    2. KATASTROFI - Tytti Tuppurainen itse yksi pahimmista kiusaajista!!!

      STT:n lähteiden mukaan SDP:n eduskuntaryhmän puheenjohtaja Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti
      Maailman menoa
      384
      6533
    3. Mikä siinä on ettei persuille leikkaukset käy?

      On esitetty leikkauksia mm. haitallisiin maataloustukiin, kuin myös muihin yritystukiin. Säästöjä saataisiin lisäksi lei
      Maailman menoa
      65
      3297
    4. Lääppijä Lindtman jäi kiinni itse teosta

      Lindtman kyselemättä ja epäasiallisesti koskettelee viestintäpäällikköä. https://www.is.fi/politiikka/art-2000011780852
      Maailman menoa
      126
      2832
    5. Juuri nyt! Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti

      Ai että mä nautin, Tytti erot vireille! "Käytös on kohdistunut avustajia ja toisia kansanedustajia kohtaan, uutisoi STT
      Maailman menoa
      108
      2430
    6. Onko kaivattusi

      liian vetovoimainen seksuaalisesti?
      Ikävä
      125
      1834
    7. Puolen vuoden koeaika

      Voisi toimia meillä. Ensin pitäis selvittää "vaatimukset" puolin ja toisin, ennen kuin mitään aloittaa. Ja matalalla pro
      Ikävä
      21
      1697
    8. Huomaatteko Demari Tytti ei esitä pahoitteluitaan

      Samanlainen ilmeisesti kuin Marin eli Uhriutuu no he ovat Demareita ja muiden yläpuolella siis omasta mielestään
      Maailman menoa
      35
      1587
    9. Tytti Tuppurainen nöyryyttää avustajiaan

      Tytti Tuppurainen nöyryyttää SDP:n eduskuntaryhmän kokouksissa sekä avustajia että kansanedustajia. Hän nolaa ihmisiä ju
      Kotimaiset julkkisjuorut
      182
      1367
    10. On todella hassua

      Ajatella että pitäisit erityisen kuumana tai seksikkäänä?
      Ikävä
      74
      1257
    Aihe