Avatar billede touel Nybegynder
09. juni 2005 - 15:49 Der er 11 kommentarer og
1 løsning

Lave structure i Java

hvis jeg gerne vil lave følgende: jeg indlæser to kolonner, i den ene kolonne er der navne og i den anden kolonne er der aldre for hvert navn. jeg vil gerne indlæse navnene og alderene og gemme det i noget, dog evt adskilt med en komma.
Så har jeg et andet array som også består af navne. jeg sammenligner disse to og hvis navnene passer i begge to, udskrives aldrene. Kan I følge mig hvor jeg vil hen ???
I givet tilfælde, hva kan jeg bruge for at løse dette problem ?
Er det noget med LinkedList, Map ???
Avatar billede arne_v Ekspert
09. juni 2005 - 15:56 #1
Enten to HashMap af objekter eller en HashMap og en ArrayList med objekter må
være det mest oplagte

til navn og alder bruger du en klasse specielt til formålet
Avatar billede touel Nybegynder
09. juni 2005 - 23:53 #2
jeg har fået smidt værdier i en hashmap. Hvis jeg nu også fylder ArrayList op med værdier, hvilken måde er efterfølgende den bedste at sammenligne disse 2 med, for at se om værdierne er ens ?
Avatar billede touel Nybegynder
10. juni 2005 - 09:05 #3
Kunne jeg venligst få et svar...har hårdt brug for det.
Avatar billede arne_v Ekspert
10. juni 2005 - 09:11 #4
du kan slå op på navn i en HashMap

for(int i = 0; i < list.size(); i++) {
    String navn = (String)list.get(i);
    if(map.containsKey(navn) {
        ...
    }
}
Avatar billede touel Nybegynder
10. juni 2005 - 09:28 #5
arne hvis man vil sammenligne navnene, og i stedet få aldrene printet ud, skal man så bare ændre metoden containsKey til containsValue .......
Avatar billede touel Nybegynder
10. juni 2005 - 09:32 #6
huh...jeg fik løst problemet. Skulle bare skrive map.get(name);
Avatar billede touel Nybegynder
10. juni 2005 - 09:57 #7
jeg prøver på at gøre min kode noget bedre, så jeg bruger nu 2 hashmaps i stedet.
Hvis jeg i den ene hashmap har navn og aldre og i den anden har jeg navn og personid, kan man så sammenligne navnnene i første omgang, og bagefter fifle lidt med personid,som fx skille dem ad, og hvis dette kan ske, skrives aldrene også ud ???
Avatar billede arne_v Ekspert
10. juni 2005 - 12:15 #8
du kan godt løbe gennem alle navne i en HashMap
Avatar billede arne_v Ekspert
10. juni 2005 - 12:15 #9
Iterator it = map.keySet().iterator();
      while (it.hasNext()) {
        String key = (String)it.next();
        Integer value = (Integer) map.get(key);
        System.out.println(key + "->" + value);
      }
Avatar billede arne_v Ekspert
10. juni 2005 - 12:15 #10
I eksemplet er value tilfældigvis en Integer
Avatar billede touel Nybegynder
12. juni 2005 - 16:32 #11
svar arne
Avatar billede arne_v Ekspert
12. juni 2005 - 16:33 #12
ok
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