Hirdetés

Keresés

Új hozzászólás Aktív témák

  • TBG
    senior tag

    Sziasztok!

    Egy érdekes, de nem nehéz problémába ütköztem, igazából van is rá elképzelésem, de hátha kapok jobb ötletet tőletek.
    Tehát adatokat kellene tárolnom vmiben (természetesen vmi kollekcióra gondoltam).

    Két részből áll:
    egy String és egy int

    A string értéke és az int értéke is ismétlődhet, tehát pl.: ezek a párosok fordulhatnak elő:
    "kutya" - 2
    "kutya" - 1
    "macska" - 1

    Látható, hogy egy vagy több String is megegyezhet egymással és egy vagy több int is megegyezhet egymással, viszont nem lehetnek olyan párosok ahol a String és az int is megegyezne.
    Tehát tlképpen mindegyik páros egyértelműen azonosítható a String értékkel és az int értékkel.
    Olyan mintha egyszerre használnám őket kulcsnak.

    A kérdésem: melyik kollekciót lenne érdemes erre a feladatra használni?
    Időigény, elérés nem számít, de azért ne legyen nagyon undormány és gány.
    HashMap egymagában nem jöhet szóba a fentiek miatt.
    Össze kellene ágyazni min két kollekciót, csak nem tudom melyik lenne a legmegfelelőbb erre a célra, ami még talán elegáns is lenne.

    Ha esetleg vki tud vmi elfogadható és vállalható megoldást erre, akkor ne tartsa magában
    :))

    Superhun megoldása teljesen jó.

    Viszont ha már saját osztályt használsz felüldefiniált metódusokkal, akkor szerintem elég az equals felüldefiniálni úgy, hogy a String és az int egyezőség esetén adjon vissza TRUE-t és akkor egy "sima" ArrayList-be is teheted. Persze attól is függ, hogy mennyi elemed lesz, mert nagyon sok elem esetén az ArrayList nem túl gazdaságos. Nem mondom, hogy Superhun vagy az én megoldásom a jobb, az enyém egy alternatív, de valamivel egyszerűbb megoldás, mert csak 1 metódus felüldefiniálását kell megcsinálni, de mint írtam, sok elemnél nem feltétlenül gazdaságos.

  • Superhun
    addikt

    Sziasztok!

    Egy érdekes, de nem nehéz problémába ütköztem, igazából van is rá elképzelésem, de hátha kapok jobb ötletet tőletek.
    Tehát adatokat kellene tárolnom vmiben (természetesen vmi kollekcióra gondoltam).

    Két részből áll:
    egy String és egy int

    A string értéke és az int értéke is ismétlődhet, tehát pl.: ezek a párosok fordulhatnak elő:
    "kutya" - 2
    "kutya" - 1
    "macska" - 1

    Látható, hogy egy vagy több String is megegyezhet egymással és egy vagy több int is megegyezhet egymással, viszont nem lehetnek olyan párosok ahol a String és az int is megegyezne.
    Tehát tlképpen mindegyik páros egyértelműen azonosítható a String értékkel és az int értékkel.
    Olyan mintha egyszerre használnám őket kulcsnak.

    A kérdésem: melyik kollekciót lenne érdemes erre a feladatra használni?
    Időigény, elérés nem számít, de azért ne legyen nagyon undormány és gány.
    HashMap egymagában nem jöhet szóba a fentiek miatt.
    Össze kellene ágyazni min két kollekciót, csak nem tudom melyik lenne a legmegfelelőbb erre a célra, ami még talán elegáns is lenne.

    Ha esetleg vki tud vmi elfogadható és vállalható megoldást erre, akkor ne tartsa magában
    :))

    Csinálsz egy osztályt, amiben két mező van: állatnév és egy szám, és felüldefiniálod az equals/hashcode metódusát úgy, hogy az azonos állatnevű és számú objektumok egyezzenek. Ezeket meg pakolhatod egy HashSetbe.

Új hozzászólás Aktív témák