以前,我设置了一个ArrayList来包含记录对象。从那以后,我用存储对象的HashMap替换了ArrayList,并使用个人的用户名字符串作为键。
此目录的类通过implements Iterable<Object>
实现Iterable(只是一个问题,但是为什么需要<Object>
?)。
用于遍历ArrayList的先前代码是:
public Iterator iterator() {
return records.iterator();
}
然后,将该迭代器用于该类中的所有对象,如下所示:
for (Object o : directory) {
TelephoneRecords temp = (TelephoneRecords) o;
System.out.println(temp.toString());
}
不幸的是,HashMapName.iterable();似乎引发了问题,那么我该如何使用HashMap来解决此问题?
最佳答案
如果您仅对键感兴趣,则可以遍历地图的keySet():
Map<String, Object> map = ...;
for (String key : map.keySet()) {
// ...
}
如果只需要这些值,请使用values():
for (Object value : map.values()) {
// ...
}
最后,如果需要键和值,请使用entrySet():
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
// ...
}
希望这对您有帮助。