Tôi đã cố gắng lặp qua hashmap trong Java, đây là một việc khá dễ thực hiện. Tuy nhiên, đoạn mã sau mang lại cho tôi một số vấn đề:Iterator trên HashMap trong Java
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());
}
Trước tiên, tôi cần thiết để đúc Iterator trên hm.keySet() iterator(), vì nếu không nó nói: "Loại không phù hợp:. Không thể chuyển đổi từ java.util. Iterator để Iterator ". Nhưng sau đó tôi nhận được "Phương thức hasNext() là không xác định cho loại Iterator", và "Phương thức hasNext() là không xác định cho loại Iterator".
Có vẻ như bạn đã nhập sai lớp 'Iterator'. Bạn sẽ muốn nhập 'java.util.Iterator'. – Vulcan
Bạn cần phải lặp qua mục nhậpSet() không phải là keySet() nếu bạn muốn các entires hơn là các khóa. –