Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe eine gefüllte HashMap (map) und möchte diese nun "zeilenweise" durchlaufen, um mit dem Key und Value etwas zu tun. Wie mache ich das???
Ich habe hierfür etwas über Iterator gelesen und aus einem Beispiel erstmal so implementiert:
Allerdings hab ich woanders gelesen, das dieses Konstrukt wohl nur von einer Zeile die Werte ausliest?!
Ich bin mir jetzt nun etwas unsicher, was das genau macht.
Wie kann ich die HashMap komplett durchgehen und von jeder Zeile Key und Value auslesen???
Irgendwie scheint es ein Problem zu geben, in Bezug auf den Inhalt der Hashmap oder auf mein durchlaufen der Hashmap?!
Ich lese in die Hashmap Dateinamen ein (ist mein Key) und ermittle mir die Menge bzw. Häufigkeit derer (ist mein Value):
Code:
//HashMap füllen
HashMap map = new HashMap();
for(<mein Namensarray components durchlaufen>){
String name = components.get(i).GetFileName().toString(); //das geht!
boolean vorhanden = map.containsKey(name);
//Eintrag noch nicht vorhanden
if(vorhanden == false){
//Daten zu HashMap hinzufügen (Key, Value)
map.put(name, new Integer(1));
}
//Eintrag vorhanden: quantity für diesen Key auslesen, erhöhen und neu abspeichern
else{
Integer quantity = (Integer) map.get(name);
map.put(name, new Integer(quantity.intValue()+1));
}
}
Laut Testausgaben wird mir jeder Name (ca.20 Namen) korrekt angezeigt... und somit auch in die HashMap aufgenommen - nehme ich an!?
Jetzt gehe ich die HashMap durch und lese jeden Key (Dateiname) mit dem entsprechenden Value (repräsentiert Gesamtmenge) aus und möchte etwas damit tun:
Ich lasse mir hier jeden Eintrag bzw. Zeil der HashMap ausgeben. Doch 3 Einträge bekomme ich korrekt angezeigt und danach ist Schluß mit der Abarbeitung!!! Das kann aber nicht, da es viel mehr Einträge sein müssen!!!
Meine Vermutung: Irgendwie ist vielleicht das Auslesen aus der HashMap nicht korrekt???
Die HashMap befüllen ist doch aber in Ordnung, oder???
Ich hab jetzt die Abarbeitung mir tausenden Testausgaben gespickt...
Beim Füllen der HashMap liegt kein Fehler vor - hier werden alle Dateinamen korrekt abgearbeitet und aufgenommen.
Also muß der Fehler irgendwo beim Auslesen der HashMap liegen!
Ist denn wenigstens erstmal das Auslesen, so wie ich das mache, korrekt - oder wird eine HashMap anders ausgelesen???
(Ich weiß es nicht besser, deshalb frage ich!)
Tja, Debuggen unter Eclipse mit Breakpoints geht nicht, da ich keine Main-Class habe und den blöden Debugger nicht einrichten kann... ich schreibe ne Anwendung für ein CAD-Programm (ProEngineer) und da DARF so ein Programm keine Main haben!!! Das ist mein Problem - deshalb kann ich nur mit Textausgaben an allen möglichen Stellen arbeiten !