亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Map中存放的數據能直接修改嗎

Map中存放的數據能直接修改嗎,我看API中貌似Map接口中沒有提供這個方法呀

正在回答

2 回答

不能,Map存放的是key-value的映射關系,并且多個key值可以對應到同一個value。

如果你想對value直接修改會導致其他key指向的這個value都被改變,而違背了"Map只是存放key-value之間映射"的初衷,所以Map接口不會提供這樣的接口;而通過remove,再put操作實質上是將原來的key對value的映射指向映射到新的value值的關系。

1 回復 有任何疑惑可以回復我~
#1

飛行烤鴨 提問者

非常感謝!
2017-01-09 回復 有任何疑惑可以回復我~

方法摘要

?void ? ?clear()
??????????從此映射中移除所有映射關系(可選操作)。 ? ?

?boolean ? ?containsKey(Object?key)
??????????如果此映射包含指定鍵的映射關系,則返回 true。 ? ?

?boolean ? ?containsValue(Object?value)
??????????如果此映射將一個或多個鍵映射到指定值,則返回 true。 ? ?

?Set<Map.Entry<K,V>> ? ?entrySet()
??????????返回此映射中包含的映射關系的 Set 視圖。 ? ?

?boolean ? ?equals(Object?o)
??????????比較指定的對象與此映射是否相等。 ? ?

?V ? ?get(Object?key)
??????????返回指定鍵所映射的值;如果此映射不包含該鍵的映射關系,則返回 null。 ? ?

?int ? ?hashCode()
??????????返回此映射的哈希碼值。 ? ?

?boolean ? ?isEmpty()
??????????如果此映射未包含鍵-值映射關系,則返回 true。 ? ?

?Set<K> ? ?keySet()
??????????返回此映射中包含的鍵的 Set 視圖。 ? ?

?V ? ?put(K?key, V?value)
??????????將指定的值與此映射中的指定鍵關聯(可選操作)。 ? ?

?void ? ?putAll(Map<? extends K,? extends V>?m)
??????????從指定映射中將所有映射關系復制到此映射中(可選操作)。 ? ?

?V ? ?remove(Object?key)
??????????如果存在一個鍵的映射關系,則將其從此映射中移除(可選操作)。 ? ?

?int ? ?size()
??????????返回此映射中的鍵-值映射關系數。 ? ?

?Collection<V> ? ?values()
??????????返回此映射中包含的值的 Collection 視圖。 ? ?


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

Map中存放的數據能直接修改嗎

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號