Próbowałem iterować nad hashmap w Javie, co powinno być dość łatwe do zrobienia. Jednak poniższy kod daje mi pewne problemy:Iterator nad HashMap w Javie
HashMap hm = new HashMap();
hm.put(0, "zero");
hm.put(1, "one");
Iterator iter = (Iterator) hm.keySet().iterator();
while(iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
System.out.println(entry.getKey() + " - " + entry.getValue());
}
Po pierwsze, potrzebne do oddania Iterator na hm.keySet() iterator(), bo inaczej to powiedział „Niezgodność typów. Nie można przekonwertować z java.util. Iterator do Iteratora ". Ale wtedy otrzymuję "Metoda hasNext() jest niezdefiniowana dla Iteratora typu" i "Metoda hasNext() jest niezdefiniowana dla Iteratora typu".
Wygląda na to, że zaimportowano niewłaściwą klasę "Iterator". Będziesz chciał zaimportować 'java.util.Iterator'. – Vulcan
Musisz pętli nad entrySet() nie keySet(), jeśli chcesz wprowadzić, a nie klucze. –