首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在HashMap of keySet中,从keySet中删除元素会影响hashmap对象吗?

在HashMap of keySet中,从keySet中删除元素会影响hashmap对象吗?
EN

Stack Overflow用户
提问于 2017-04-22 06:10:47
回答 2查看 288关注 0票数 1

假设我有一个名为HashMap的myMap,然后从它得到一个keySet对象并修改keySet

代码语言:javascript
复制
Set<Integer> keys = myMap.keySet();
keys.remove(1);
keys.remove(2);

如果myMap在这个片段之前包含了12作为键,那么在执行这个片段之后,myMap会被更改吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-22 06:12:44

是。从键集中删除元素将从映射中移除相应的条目。引用Javadoc

集合支持元素删除,它通过Iterator.removeSet.removeremoveAllretainAllclear操作从映射中删除对应的映射。

票数 3
EN

Stack Overflow用户

发布于 2017-04-22 06:12:35

代码语言:javascript
复制
jshell> HashMap<Integer, Integer> a = new HashMap<>();
a ==> {}

jshell> Set<Integer> b = a.keySet();
b ==> []

jshell> b
b ==> []

jshell> a.put(1,2)
$4 ==> null

jshell> a
a ==> {1=2}

jshell> b
b ==> [1]

jshell> b.remove(1)
$7 ==> true

jshell> a
a ==> {}

jshell> b
b ==> []

答案是肯定的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43555886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档