java - 我可以通过Keyset修改 map 吗

标签 java collections

我正在尝试对 map 应用过滤器。目的是仅保留属于一组的那些键。以下实现确实提供了所需的结果,但我想知道这是否是正确的方法?

private void filterProperties(Map<String, Serializable> properties, Set<String> filterSet) {
    Set<String> keys = properties.keySet();
    keys.retainAll(filterSet);
}

最佳答案

是的!

The set is backed by the map, so changes to the map are reflected in the set, and vice-versa

(参见:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/HashMap.html#keySet())

关于java - 我可以通过Keyset修改 map 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5781083/

相关文章:

java - Mouslistener 造成问题

java - 对多个 JPanel 使用 CardLayout 并且不显示任何内容

java - equals()、hashcode() 和compare() 方法内部到底发生了什么?

scala - 将 java.util.stream.Stream 转换为 Scala Stream

java - 'empty' 集合的目的是什么?

java - 如何加入两个类并根据第三个 "bridge entity"[java] 打印报告

c# - 检查两个列表是否有冲突元素?

java - 无法关闭线程池

java - 在postman中可以命中,但在java中不行

java - 从 wsdl 生成 java 类时出错