迭代/更新HashMap

这个问题在这里已经有了答案:

  • 迭代通过HashMap [复制] 7个答案
  • 如何有效地迭代'Map'中的每个条目? 38个答案

  • 利用地图:首先浏览其他收藏并进行操作。

    for(String blacklisted : blacklist) {
        wordcounts.remove(blacklisted);
    }
    for(String mapping : mappings) {
        String oldKey =    // get old key
        String value = wordcounts.get(oldKey);
        wordcounts.remove(oldKey);
        wordcounts.put(mapping, value);
    }
    

    使用Map.Entry.setValue更改映射的值。 如果要删除映射,请使用setValue(null)使用Iterator


    不要尝试在迭代过程中移除项目,否则会从迭代器中获得异常。 最好的选择是要么

    a)通过迭代/复制到新地图来克隆地图,或者b)在您去除要移除的项目时保持跟踪,并在完成迭代后移除它们。

    如果您要更改密钥,则适用同样的事情。随时跟踪并在迭代完成后执行删除/添加。

    如果你只是在改变价值观,那就去做吧。

    链接地址: http://www.djcxy.com/p/17981.html

    上一篇: Iterating through/Updating HashMap

    下一篇: java.util.HashSet int iteration order