Strings vergleichen aus HashMap

oraclin25

Erfahrenes Mitglied
Hallo zusammen,

ich habe ein Hashmap:

Code:
Map<String, String> studentenwirwar = new HashMap<String, String>();
studentenwirwar.put("1", "Ratna");
studentenwirwar.put("2", "Klaus");
studentenwirwar.put("3", "Ratna");
studentenwirwar.put("4", "Ratna");
studentenwirwar.put("5", "Klaus");

Ich würde gerne eine Liste von String-Liste ausgeben:
((1,3,4),(2,5))
Alle Nummern mit dem gleichen Namen soll in einer Liste gepackt werden.

Hat jemand eine Idee wie ich das hinkriegen kann?

Vielen Dank.

Viele Grüße aus Rheinland,

Eure Ratna
 
Prinzipiell solltest Du erst einmal alle individuellen Werte ermitteln, also in Deinem Beispiel "Ratna" und "Klaus", und dann solltest Du diese Einträge nacheinander durchgehen und sie mit der ursprünglichen Liste vergleichen. Bei Gleichheit Index merken, ansonsten direkt zum nächsten Element.
 
Hi

Java:
Map<String,ArrayList<String>> result = new Map<String,ArrayList<String>>();
for (Map.Entry<String,String> entry : studentenwirwar.entrySet()) {
	if(null == result.get(entry.getValue())) result.put(entry.getValue(), new ArrayList<String>());
	result.get(entry.getValue()).add(entry.getKey());
}
 
@Cromon
? Versteh ich grad nicht...

edit:
Meinst du, weil das null in der Bedingung vorne ist?
Ist ohne irgendwelche tieferen Absichten so geschrieben, und übergetreten bin ich nicht :)
Weder zur einen noch anderen Seite...
 
Hallo sheel, einfach nur crack und Cromon,

vielen lieben Dank für Eure Beiträge. sheel@, hat funktioniert, habe ich noch schnell vorm Deployment auf Deinen Vorschlag umgeschrieben :)

Viele Grüße aus Rheinland,

Eure Ratna
 
Zurück