在java.util.TreeMap javadoc中有这样的声明:
此类中的方法返回的所有Map.Entry对及其视图表示生成时映射的快照.它们不支持Entry.setValue方法.(但请注意,可以使用put更改关联映射中的映射.)
我不明白这一行.他们以什么方式不支持setValue方法?当我使用entrySet()并迭代Map.Entry对象时,它设置值很好.
Map<String, Integer> map = new TreeMap<>();
map.put("dbc", 1);
map.put("abc", 1);
map.put("cbc", 1);
for(Map.Entry<String, Integer> item: map.entrySet()) {
item.setValue(1);
}
Run Code Online (Sandbox Code Playgroud) java ×1