Hirdetés

Keresés

Aktív témák

  • cucka

    addikt

    válasz pmonitor #70 üzenetére

    Mondom jókedvemben vagyok, szóval vegyük végig.
    Ott van a metódusod, amivel indexelni tudod a hashset-edet. Amikor azt mondom, hogy hashset[i], akkor
    1. a hashset-ből csinálsz egy listát - ugye ez az aminek nem determinált a sorrendje
    2. visszatérsz a lista[i]-vel

    Namost legyen egy hashsetem, A, B, C értékekkel. Jön a for ciklus, ami végigmegy az elemein

    i=0 eset
    megcsinálod a listát, az lesz benne, hogy [A,B,C]. visszatérünk a lista[0]-val, ami az A érték.

    i=1 eset
    megcsinálod a listát, az lesz benne, hogy [B,A,C], visszatérünk a lista[1]-el, ami az A érték

    i=2 eset
    megcsinálod a lsitát, az lesz benne, hogy [C,B,A], visszatérünk a lista[2]-vel, ami ismét az A érték

    végigértünk a for cikluson, az [A,B,C] hashset-ből feldolgoztuk az A értéket 3szor, és a többi értéket nem dolgoztuk fel.

    Ezt jelenti az, hogy a egy Set elelein nincs sorrend meghatározva. Erre mondtad hogy érted, de láthatóan nem érted, remélhetőleg így már menni fog.

    Szóval innen adódik a köv. feladat, hogy vajon hogy lehet mégis olyan indexelést csinálni egy hashset-re, ami garantáltan működik?

    mod: a példa kódodra. Itt a fenti esetben is az lesz, hogy általában a listád az lesz, hogy [A,B,C] és általában működni fog.
    Kivéve, amikor nem fog működni, mert jön a háttérben a gc és átrendezi a memóriádat. És akkor majd más lesz a sorrend.

  • cucka

    addikt

    válasz pmonitor #70 üzenetére

    A foreach-al végig tudsz iterálni egy collection-ön. Pontosabban bármin, ami implementálja az IEnumerable interfészt.

    Az egyetlen dolog, amit egy IEnumerable garantál, hogy írhatsz rá egy foreach-et, ami a collection-öd mindegyik elemét fel fogja dolgozni.

    Amivel az IEnumerable nem foglalkozik, és nem is szükséges tudni egy foreachhez, az hogy :
    - melyik elem micsoda
    - két elem közül melyik a nagyobb
    - melyik elem hányadik a sorban

    Te valamiért mindenképp Array-ként akarod használni. Az Array egy szűkebb értelmezése a collection-nek, mert mindenképp garantálja, hogy minden elemnek van egy nemnegatív indexe, és az indexekben nincsenek lyukak.

    Nyilván az Array az egy Enumerable. De fordítva ez nem igaz.

Aktív témák