1 回答

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
您List
包含對(duì)是你的價(jià)值觀的實(shí)例的引用Map
,這樣的突變的各個(gè)元素的狀態(tài)List
的變異值Map
。
另一方面, yourList
不受 支持Map
,因此刪除它的元素不會(huì)影響Map
.
當(dāng)值在其他地方被刪除時(shí),是否有任何自動(dòng)方法可以從地圖中刪除鍵值對(duì)?
是的,如果直接從Collection
by 返回的元素中刪除一個(gè)元素myMap.values()
,它也會(huì)從Map
.
這是 Javadoc 中的狀態(tài)values()
:
集合 java.util.Map.values()
返回此映射中包含的值的集合視圖。集合由映射支持,因此對(duì)映射的更改會(huì)反映在集合中,反之亦然。如果在對(duì)集合進(jìn)行迭代時(shí)修改了映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。該集合支持元素移除,通過 Iterator.remove、Collection.remove、removeAll、retainAll 和 clear 操作從 map 中移除相應(yīng)的映射。它不支持 add 或 addAll 操作。
添加回答
舉報(bào)