HashMap mit Iterator durchlaufen

Status
Nicht offen für weitere Antworten.

noch_anfänger

Aktives Mitglied
Hallo,

ich habe eine
Code:
HashMap<String, Icon>
und möchte die über eine Schleife durchlaufen, um die HashMap mit Icons einzufüllen. Es gibt eine
Code:
while-
Schleife, die mit dem Iterator über die Keys durchläuft.
Code:
HashMap<String, Icon> iMap = new HashMap <String, Icon>();
Code:
Iterator<String> itr = MyStorage.keySet().iterator();
Code:
String str;
Code:
while (itr.hasNext()) {
Code:
str = itr.next();
Code:
iMap.put(MyStorage.getName(str), icon);
Code:
}

Das Problem ist, dass die while-Schleife backwards arbeitet, beginned mit dem letzten Element.
Gibt es vielleicht eine andere Möglichkeit, etwa
Code:
for each
, um die HashMap zuerst mit dem esrten Element von MyStorage zu füllen, dann mit dem Zweiten u s.w. ?
 

diggaa1984

Top Contributor
die Reihenfolge des Durchlaufs hat nix mit der while-schleife zu tun, sondern mit den Vorgaben des keySet-Typs

Es gibt Sets, welche eine Reihenfolge beim iterieren einhalten (LinkedHashSet) .. aber in der Regel kannst du davon ausgehen, dass die Reihenfolge zufällig ist. Wenn du Werte in deine HashMap einfügst, ist auch nicht sichergestellt das diese Reihenfolge auch beibehalten wird, das hat einfach mit der Eigenart der Hashmap zu tun, darauf hast du keinen Einfluss, ausser du nutzt eine LinkedHashMap.

Warum genau, möchtest du denn eine spezielle Reihenfolge abarbeiten?
 
Zuletzt bearbeitet:

ttplayer

Aktives Mitglied
Die HashMap wird beim Iterieren nicht alphabetisch durchlaufen, sondern nach dem HashCode des Strings - frag mich aber nicht, wie der aufgebaut ist... Wenn du es nach Reihenfolge machen willst, solltest du eine ArrayList nehmen.
 

noch_anfänger

Aktives Mitglied
Hallo,

danke für die Antworten!
Die HashMap ist mir vorgegeben, ich darf es nicht ändern. Wenn ich MyStorage mit Elementen anfülle
Java:
MyStorage.addElement("first", ...);
MyStorage.addElement("second", ..);
MyStorage.addElement("third", ...);
und in meine Schleife jetzt
Code:
System.out.println()
reintun,
Java:
HashMap<String, Icon> iMap = new HashMap <String, Icon>();
Iterator<String> itr = MyStorage.keySet().iterator();
String str;
while (itr.hasNext()) {
str = itr.next();
System.out.println("str = " + str);
iMap.put(MyStorage.getName(str), icon);
}
bekomme ich in der Console:
Code:
str = third
Code:
str = second
Code:
str = first

Ich verstehe das so, dass in iMap die Sachen auch in dieser Reihenfolge abgelegt sind.

Ich brauche aber die normale Reihenfolge:
Code:
str = first
Code:
str = second
Code:
str = third
 

diggaa1984

Top Contributor
versuch mal
Java:
HashMap<String, Icon> iMap = new LinkedHashMap<String, Icon>();

das verletzt nix, weil nach aussen ist es immer noch als HashMap nutzbar
obwohl das problem eher beim Typ von von MyStorage liegt, von welchem Typ ist das?
 
Zuletzt bearbeitet:

ttplayer

Aktives Mitglied
Wenn das nicht funktioniert, dann weiß ich auch nicht, wie das funktionieren soll...
Poste doch mal deine Aufgabenstellung, vielleicht geht das ganz anders...
 

diggaa1984

Top Contributor
das is offtopic :D .. und er war einfach ne ausnahme ^^ ... hm ... google anwerf
edit: umgefallen .. is ja egal wann es war .. hab den stern vergessen :D
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
wie gesagt, ich glaube eher das problem liegt beim typ von MyStorage .. weil du über dieses Object iterierst!!

das muss eine geordnete Iteration gewährleisten!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
Z Hashmap Iterator löscht nicht Java Basics - Anfänger-Themen 8
N generische HashMap und Iterator Java Basics - Anfänger-Themen 2
R Iterator und HashMap Java Basics - Anfänger-Themen 10
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
krgewb HashMap Java Basics - Anfänger-Themen 2
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
berserkerdq2 Hashmap, wie prüfe ich ob ein Key schon existiert Java Basics - Anfänger-Themen 19
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
F gson mit einer Hashmap Java Basics - Anfänger-Themen 2
J JSON-HashMap Java Basics - Anfänger-Themen 3
J Hashmap Java Basics - Anfänger-Themen 13
C Hashmap zickt Java Basics - Anfänger-Themen 9
S HashMap contains() Methode Java Basics - Anfänger-Themen 1
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
P Verschachtelte Hashmap Java Basics - Anfänger-Themen 6
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
J HashMap Java Basics - Anfänger-Themen 6
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
N HashMap in List good practice? Java Basics - Anfänger-Themen 2
K Value eines HashMaps in einer HashMap wiedergeben. Java Basics - Anfänger-Themen 5
O Hashmap, ArrayList, LinkedList Java Basics - Anfänger-Themen 7
O HashMap - ArrayList Java Basics - Anfänger-Themen 29
J Hashmap langsamer als compareTo? Java Basics - Anfänger-Themen 23
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
W The type Long is not visible HashMap Java Basics - Anfänger-Themen 4
M Objekt mit Hashmap vergleichen Java Basics - Anfänger-Themen 22
S Gibt es für die Klasse HashMap Generic Implementierungen? Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
J Hashmap auslesen Java Basics - Anfänger-Themen 7
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
GreenTeaYT HashMap dupliziert meine Elemente? Java Basics - Anfänger-Themen 2
shiroX Methoden Morse-Code Übersetzer mit HashMap Java Basics - Anfänger-Themen 5
E HashMap Problem Java Basics - Anfänger-Themen 5
P Hashmap anstatt LinkedList? Java Basics - Anfänger-Themen 6
T HashMap und die Methoden Java Basics - Anfänger-Themen 13
N Methoden Interaktives PDF mit HashMap befüllen Java Basics - Anfänger-Themen 0
Z Hashmap auseinandernehmen und analysieren Java Basics - Anfänger-Themen 7
B Durchlaufen von Hashmap und Arraylist Java Basics - Anfänger-Themen 8
F HashMap oder welches Array? Java Basics - Anfänger-Themen 4
T HashMap Java Basics - Anfänger-Themen 24
L Hashmap mit variablem Key Java Basics - Anfänger-Themen 9
M Collections Probleme mit Hashmap Java Basics - Anfänger-Themen 4
N Collections String in HashMap umwandeln Java Basics - Anfänger-Themen 3
Z HashMap richtig benutzen Java Basics - Anfänger-Themen 2
lgund HashMap // TS3 Query Java Basics - Anfänger-Themen 7
E Hashmap Wert auslesen Java Basics - Anfänger-Themen 2
S Printstream für einen Hashmap Loop Java Basics - Anfänger-Themen 1
dat_vin OOP Hashmap und Attribute Java Basics - Anfänger-Themen 7
C Check ob eine HashMap schon existiert Java Basics - Anfänger-Themen 16
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
R Hashmap in anderer Klasse nicht benutzbar Java Basics - Anfänger-Themen 1
T Java Hashmap Java Basics - Anfänger-Themen 3
L Gibt es etwas wie "HashMap <String, String, String> Java Basics - Anfänger-Themen 9
K HashMap mit Daten aus ArrayList befüllen Java Basics - Anfänger-Themen 14
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
O HashMap Fragen Java Basics - Anfänger-Themen 8
T HashMap Werte einfügen, durchsuchen und auslesen Java Basics - Anfänger-Themen 17
M Semantisches Problem HashMap/Netzwerk Java Basics - Anfänger-Themen 4
D HashMap Keys durchlaufen Java Basics - Anfänger-Themen 2
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
M HashMap keys ausgeben Java Basics - Anfänger-Themen 2
S In einer Hashmap Klassen regestrieren Java Basics - Anfänger-Themen 2
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
F HashMap nach kleinstem Value durchsuchen Java Basics - Anfänger-Themen 11
G HashMap Java Basics - Anfänger-Themen 6
F Wortpaare - HashMap - ArrayList Java Basics - Anfänger-Themen 6
M HashMap Frage Java Basics - Anfänger-Themen 3
M HashMap - put() reagiert nicht? Java Basics - Anfänger-Themen 8
N Cast eines Objektes in eine Hashmap Java Basics - Anfänger-Themen 13
A CSV Zeilenweise einlesen und in einer HashMap speichern Java Basics - Anfänger-Themen 12
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
F Hilfe bei der HashMap. Java Basics - Anfänger-Themen 3
F HashMap vs. TreeMap Java Basics - Anfänger-Themen 5
B HashMap Java Basics - Anfänger-Themen 9
C Collections String[] als value in HashMap Java Basics - Anfänger-Themen 6
V Hashmap Iterieren Java Basics - Anfänger-Themen 4
C Csv File in Hashmap ausgeben Java Basics - Anfänger-Themen 14
T HashMap<String,Object> Werte auslesen Java Basics - Anfänger-Themen 5
I HashMap sortieren Java Basics - Anfänger-Themen 10
I HashMap Java Basics - Anfänger-Themen 11
H Collections Brauche modifizierte HashMap Java Basics - Anfänger-Themen 6
H TreeMap/HashMap synchronisieren Java Basics - Anfänger-Themen 2
A Datentypen Hashmap to Array Java Basics - Anfänger-Themen 11
D HashMap überschreibt Werte Java Basics - Anfänger-Themen 7
pg1337 Interface Comparable-Interface bei HashMap Java Basics - Anfänger-Themen 21
D erweiterte hashmap Java Basics - Anfänger-Themen 5
H HashMap<Int, String> - Er findet die Int-Klasse nicht. Java Basics - Anfänger-Themen 3
L HashMap zu JList Java Basics - Anfänger-Themen 6
S Erste Schritte HashMap Kurze Frage - Werte über Schleife ausgeben Java Basics - Anfänger-Themen 30
F Collections ArrayList oder Hashmap mittel Collections.sychronised Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben