2017-04-22 15 views

回答

4

是的。從鍵集中移除元素會從地圖中移除相應的條目。引述Javadoc

set支持元素移除,即從映射中相應的映射,經由Iterator.removeSet.removeremoveAllretainAll,和clear操作。

0
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 ==> [] 

答案是肯定的。

+2

這是一個不好的答案(IMO)。這只是Java的一個實現中的這種行爲的證據。證明是,javadocs *指定了這種行爲......並且這種行爲對於指定Map Map API的所有Java版本都是一致的。 –

+0

同意,只是在這裏作爲補充發布 –