一尘不染

Java-遍历HashMap

java

迭代中的项目的最佳方法是HashMap什么?


阅读 342

收藏
2020-02-25

共2个答案

一尘不染

entrySet()像这样遍历:

public static void printMap(Map mp) {
    Iterator it = mp.entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry pair = (Map.Entry)it.next();
        System.out.println(pair.getKey() + " = " + pair.getValue());
        it.remove(); // avoids a ConcurrentModificationException
    }
}

了解更多有关Map

2020-02-25
一尘不染

如果你只对键感兴趣,则可以遍历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();
    // ...
}

一个警告:如果要删除迭代中的项目,则需要通过Iterator进行删除(请参阅karim79的答案)。但是,更改项目值是可以的(请参阅参考资料Map.Entry)。

2020-02-25