Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

HashTable, ArrayList

[es] :: .NET :: HashTable, ArrayList

[ Pregleda: 3108 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

y0gie
Slovenija

Član broj: 7615
Poruke: 21
*.dial-up.arnes.si



Profil

icon HashTable, ArrayList21.01.2003. u 19:09 - pre 229 meseci
U svoj HashTable stavljam neke stvari koje upotrebljavaju ključ tipa Object. Ali problem je u traženju tih struktura sa Object ključem. Nikako da mi nađe bilo šta.

(Problem je u tome, da imam stvari koje trebaju biti sahranjene sa istim ključem u istom HashTable-u, zato ne mogu upotrebiti integer ili slično; samo object, jer se samo u nekom detajlu razlikuje jedan Object od drugog).
Bez Muje nema struje
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: HashTable, ArrayList21.01.2003. u 19:36 - pre 229 meseci
Kako misliš da je ključ Object? Ne vidim smisao toga. Možeš li da pokažeš na primeru šta si to uradio?
 
Odgovor na temu

y0gie
Slovenija

Član broj: 7615
Poruke: 21
*.dial-up.arnes.si



Profil

icon Re: HashTable, ArrayList21.01.2003. u 20:00 - pre 229 meseci
public class CTGraphEdgeKey
{
...
}

evo problema:

CTGraphEdgeKey edgeKey = new CTGraphEdgeKey(y,x);
edge = (CTGraphEdge) edges[edgeKey];

ili ako ima drugo rešenje: Da stavljam više CTGraphEdgeKey u isti HashTable sa jednakim ključevima.

Bez Muje nema struje
 
Odgovor na temu

dotnet
Beograd

Član broj: 4344
Poruke: 112
*.verat.net

Jabber: dotnet@elitesecurity.org


Profil

icon Re: HashTable, ArrayList21.01.2003. u 20:46 - pre 229 meseci
Pozdrav

Na nacin koji si naveo jedino je moguce da trazis 'Value' sa instancom objekta koju si pre toga upisao u 'Hashtable', znaci kreiras objekat upises u 'Hashtable' i odma nakon toga pretrazujes i dobijes 'Value' za taj objekat. E sad pretpostavljam da bi svoju zamisao mogao da izvedes tako sto bi serializovao svaki objekat koji dodajes za 'Key', ali kao sto Tata kaze 'Ne vidim smisao toga'. Razmisli dal mozes nekako drugacije da organizujes stvar.
dotnet
 
Odgovor na temu

y0gie
Slovenija

Član broj: 7615
Poruke: 21
*.dial-up.arnes.si



Profil

icon Re: HashTable, ArrayList21.01.2003. u 21:09 - pre 229 meseci
hm...

nisam hteo skrenuti s puta ali izgleda da cu morati i sprogramirati svoj HashTable
Bez Muje nema struje
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.dial.InfoSky.Net

Sajt: localhost


+4 Profil

icon Re: HashTable, ArrayList22.01.2003. u 17:30 - pre 229 meseci
verovatno neces morati.

nisam 100% siguran, ali ove kolekcije mi mnogo sumnjivo lice na Java2 kolekcije. ako je implementacja ista, moraces u tvojim objektima samo da implementirash equals() i hashCode() metode.

znaci, recimo:

Code:

public class CTGraphEdgeKey {
    int x, y;
    ...

    public int hashCode() {
        return x*y;
    }

    public boolean equals(Object o) {
        CTGraphEdgeKey k = (CTGraphEdgeKey) o;
        return ((k.x == x) && (k.y == y));
    }
}


znam da ovo mozda nije najsjajnija hash funkcija za tvoj primer (a ni ne znam primer) ali mislim da ce raditi. i ako ti x i y nisu int, uradi round(x*y) recimo...

 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: HashTable, ArrayList22.01.2003. u 18:07 - pre 229 meseci
Ako je to problem, onda treba preklopiti funkcije GetHashCode i Equals. Za GetHashCode je često prihvatljiv hack da se koristi ToString().GetHashCode(), mada je u tvom slučaju verovatno bolje x^y.

Uglavnom, jako nerazumljivo postavljaš pitanja, a i onaj kod mi nije preterano pomogao da shvatim u čemu je problem.
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.dial.InfoSky.Net

Sajt: localhost


+4 Profil

icon Re: HashTable, ArrayList22.01.2003. u 18:40 - pre 229 meseci
ok. a kako iskoristiti ToString().GetHashCode() kada klasa ima dve promenjive (ili vise) kao ova?

ili sta je najbolje koristiti za realne promenjive?
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: HashTable, ArrayList22.01.2003. u 20:19 - pre 229 meseci
Funkcija ToString() vraća string koji "opisuje" dato stanje objekta (uglavnom da bi se olakšalo debagovanje) - znači očekivao bih da ispiše koliki su x i y. Znači, kad god su x i y jednaki, stringovi koje vraća ToString() su jednaki, a samim tim i hash koji se dobija od njih. Ovaj sistem se jako često koristi kad performanse nisu preterano bitne.


 
Odgovor na temu

y0gie
Slovenija

Član broj: 7615
Poruke: 21
*.dial-up.arnes.si



Profil

icon Re: HashTable, ArrayList22.01.2003. u 20:39 - pre 229 meseci
izvinjavam se za moju nejasnost. Nisam dugo bio u Srbiji pa mi je teško složiti neke pametne rečenice.

evo ..da probam još jednom ako budem sad jasniji:
zombie / DDG: jest skoro isto ko Java

Moj je problem samo u tome, da trebam tražiti po HashTable sa ključem koji je tipa Object -> (CGraphEdgeKey). Ne sa integer, string,...

Probat ču i tvoj prjedlog, da vidim ima li šta na tome.

Hvala
Bez Muje nema struje
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.dial.InfoSky.Net

Sajt: localhost


+4 Profil

icon Re: HashTable, ArrayList23.01.2003. u 00:09 - pre 229 meseci
dobro, probaj, ali ipak poslusaj i tatu (GetHashCode() i Equals())

DT: ToString() u .net vraca komplenu sadrzinu objekta po defaultu? samo primitiva ili sve? a podobjekti? a nizovi? u kom formatu? da li je ovo bash toliko korisno, ako ima 20tak primitiva u objektu. (mada je verovatno korisnije od javinog default toString() metoda ;)

 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
207.46.137.*



+18 Profil

icon Re: HashTable, ArrayList23.01.2003. u 01:41 - pre 229 meseci
ToString uglavnom vraca string koji sadrzi tip promenljive. Postoje izuzetci (primitivni tipovi, stringovi, TextBoxovi, itd.), ali u opstem slucaju dobices nesto tipa "System.Object.TypeXXX"
 
Odgovor na temu

[es] :: .NET :: HashTable, ArrayList

[ Pregleda: 3108 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.