本帖最后由 龙秋地 于 2012-6-19 15:39 编辑
- 我的问题就是当打印这句的时候01键值还是lisi01,可到后面打印的时候就是lisi011,那么这个put方法在内存中的存储状况,和改变状况是什么样的? 请用图来说明
复制代码 答:
<Map K,V>中put()方法:
V put(K key, V value)
将指定的值与此映射中的指定键相关联(可选操作)。
如果此映射中以前包含一个该键的映射关系,则用指定值替换旧值(当且仅当 m.containsKey(k) 返回 true 时,才能说映射 m 包含键 k 的映射关系)。
参数:
key - 与指定值相关联的键。
value - 与指定键相关联的值。
返回:
以前与指定键相关联的值,如果没有该键的映射关系,则返回 null。
如果该实现支持 null 值,则返回 null 也可表明此映射以前将 null 与指定键相关联。
如果已经有对应的值,则替换存入新值,返回旧健对应的值.
这就可以解释,为什么你明明put的是"lisi011",但是返回的是曾经的旧值,就是"lisi01".
但是接着你继续打印的话,那么就变成之前你存入的"lisi011"的值.
C:\Documents and Settings\Administrator\桌面
|
|