以前,我设置了一个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();
    // ...
}


希望这对您有帮助。

10-02 03:10
查看更多