# HashMap mehrere values auslesen.



## Pingu (26. Mrz 2007)

Hi zusammen (bin frisch hier)

Also ich muss aus folgendem Code die Values auslesen. wenn ich nun aber mit entry.getValues() es versuche bekomme ich hashMap.Person@......
wie kriege ich das nun fertig dass ich alle values aus der hashmap lesen kann?


```
package hashMap;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Start {

	public static void main(String[] args) {
		
		Start s = new Start();
		HashMap h = new HashMap();
		
		Person pers1 = s.erzeugePerson("Müller", "Max", "Meieliweg 5", "Mühlebergen", "25.04.1958", "0794587596", "muellermax@bluewein.ch");
		h.put(pers1.getVorname(), pers1);
		
		Person pers2 = s.erzeugePerson("Hunziker", "Udo", "Frikadellenstr. 15", "Frickhausen", "08.11.1964", "0775846321", "udo_hunz@sunriese.ch");
		h.put(pers2.getVorname(), pers2);
		
		Person pers3 = s.erzeugePerson("Flückiger", "Florian", "Bierstrasse 7", "Bieregg", "07.01.1978", "0768472036", "flo44@hispiiid.ch");
		h.put(pers3.getVorname(), pers3);
		
		Person pers4 = s.erzeugePerson("Eberhart", "Alice", "Wertweg 37", "Wettenheim", "31.02.1990", "0784576844", "alice_eberhart@gmail.uk");
		h.put(pers4.getVorname(), pers4);
		
		Person pers5 = s.erzeugePerson("Michivitsch", "Ismael", "Gürckweg 6", "Gürckhausen", "01.08.1980", "0758256645", "guerck@instanbul.tk");
		h.put(pers5.getVorname(), pers5);
		
		s.printHashMap(h);
		
	}
	

	
	public Person erzeugePerson(String name, String vorname, String adresse, String ort, String gebdatum, String tel, String email){
		
		Person pers1 = new Person();
		
		pers1.setName(name);
		pers1.setVorname(vorname);
		pers1.setAdresse(adresse);
		pers1.setOrt(ort);
		pers1.setGebdatum(gebdatum);
		pers1.setTel(tel);
		pers1.setEmail(email);
		
		return pers1;
		
	}
	
	public void printHashMap(HashMap h){
		
		Iterator itr = h.entrySet().iterator(); 
		
		while (itr.hasNext()){
			
			Map.Entry entry = (Map.Entry)itr.next();
			System.out.println(entry.getKey() + " --> " + entry.getValue());
			
			
		}
		
	}

}
```

Gruss Pingu


----------



## WieselAc (26. Mrz 2007)

Caste mal auf Person und schreib in der Klasse Person eine vernünftige toString Methode, dann gehts.


----------



## Pingu (26. Mrz 2007)

nicht ganz ich krieg das zurück:

Udo --> Udo=Hunziker, Udo, Frikadellenstr. 15, Frickhausen, 08.11.1964, 0775846321, udo_hunz@sunriese.ch
Max --> Max=Müller, Max, Meieliweg 5, Mühlebergen, 25.04.1958, 0794587596, muellermax@bluewein.ch
Florian --> Florian=Flückiger, Florian, Bierstrasse 7, Bieregg, 07.01.1978, 0768472036, flo44@hispiiid.ch
Ismael --> Ismael=Michivitsch, Ismael, Gürckweg 6, Gürckhausen, 01.08.1980, 0758256645, guerck@instanbul.tk
Alice --> Alice=Eberhart, Alice, Wertweg 37, Wettenheim, 31.02.1990, 0784576844, alice_eberhart@gmail.uk


will aber bsp. Udo= nicht dabei und das ist der entry wert.


----------



## Leroy42 (26. Mrz 2007)

Wie sieht denn die toString-Methode deiner Klasse Person aus?


----------



## Pingu (26. Mrz 2007)

```
System.out.println(entry.getKey() + " --> " + entry.toString());
```



```
String a = (name + ", " + vorname + ", " + adresse + ", " + ort
				 + ", " + gebdatum + ", " + tel + ", " + email);
```


----------



## Leroy42 (26. Mrz 2007)

Also du hast:


```
public String toString() {
  String a = (name + ", " + vorname + ", " + adresse + ", " + ort 
             + ", " + gebdatum + ", " + tel + ", " + email);
  return a;
}
```

Dann kann aber kein

Udo=Hunziker, Udo, Frikadellenstr. 15, Frickhausen...

rauskommen


----------



## Pingu (26. Mrz 2007)

doch der udo= ist vom entry her. der rest wird dann durch die toString methode hinzugefügt.


----------



## SlaterB (26. Mrz 2007)

wieso machst du hier lauter entry-Sachen (entry.toString, h.entrySet().iterator(); usw.)
wenn deine Frage ist, wie du an die Values kommst?

was funktionier an h.values() nicht?


----------



## Pingu (26. Mrz 2007)

danke jetzt funtzt es.


----------

