我可以通过Keyset修改Map

The*_*ler 5 java collections

我正在尝试将过滤器应用于Map.目的是仅保留作为集合一部分的那些键.以下实现确实提供了所需的结果,但我想知道这是否是正确的方法?

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

Ita*_*man 6

是!

该集由地图支持,因此对地图的更改将反映在集中,反之亦然

(参见:http://download.oracle.com/javase/1.4.2/docs/api/java/util/Map.html#keySet%28%29)