Avatar billede lytzen Nybegynder
09. oktober 2004 - 19:21 Der er 4 kommentarer og
1 løsning

Løbe en hashtable igennem

Jeg har en hashtable jeg gerne vil løbe igennem, men ved ikke rigtig hvordan jeg skal gøre det.

Jeg har prøvet med følgende kodestump (_table er min hashtable), men går i stå fordi jeg ikke kan få fat i element nummer i.

Normalt slår man jo op pba. key'en, men jeg skal finde key'en pba. af en værdi som findes i et af objekterne.


int i = 1;
        boolean found = false;
        while (i < _table.size() | !found) {
            /* xxxxxxx */
        }
Avatar billede arne_v Ekspert
09. oktober 2004 - 19:24 #1
Element nummer i giver ingen mening for en hash table. Data er ikke ordnet.

Men du kan selvfølgelg godt få alle par ud - kig lige på det her eksempel:

import java.util.Arrays;
import java.util.Hashtable;

public class HashtableSort {
    public static void main(String[] args) {
        Hashtable hm = new Hashtable();
        hm.put("c","3");
        hm.put("b","2");
        hm.put("a","1");
        System.out.println(hm);
        Object[] sa = hm.keySet().toArray();
        Arrays.sort(sa);
        for(int i = 0; i < sa.length; i++) {
            String key = (String)sa[i];
            String value = (String)hm.get(key);
            System.out.println(key + "->" + value);
        }

    }
}
Avatar billede arne_v Ekspert
09. oktober 2004 - 19:25 #2
(du har ikke nødvendigvis brug for sorteringen så den kan du bare udelade)
Avatar billede lytzen Nybegynder
10. oktober 2004 - 17:23 #3
Mange tak for hjælpen :)
Avatar billede lytzen Nybegynder
10. oktober 2004 - 17:23 #4
Vil du ikke have nogle points?
Avatar billede arne_v Ekspert
11. oktober 2004 - 09:14 #5
jo tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester