为了账号安全,请及时绑定邮箱和手机立即绑定

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下载
官方微信