当我使用.putAll()遗嘱时,另一个.putAll()覆盖地图的内容?我的地图会包含SomeOfMyObjects和SomeOfMyObjects吗?
Map<MyObject> blah = new HashMap<>();
blah.putAll('SomeOfMyObjects')
blah.putAll('SomeOfMyObjects')
Run Code Online (Sandbox Code Playgroud)
谢谢!
Sur*_*tta 12
将指定映射中的所有映射复制到此映射(可选操作).对于在指定映射中从键k到值v的每个映射,此调用的效果等同于在此映射上调用put(k,v)的效果.
this call is equivalent to that of calling put(k, v)
Run Code Online (Sandbox Code Playgroud)
将指定的值与此映射中的指定键相关联(可选操作).如果映射先前包含键的映射,则旧值将替换为指定的值.(当且仅当m.containsKey(k)返回true时,地图m才包含密钥k的映射.)
因此ovverides,根据put方法的行为,它永远不会,只是继续.
它的行为就像调用put(k,v)参数映射中的每个条目,因此它添加,保留映射中已有的任何内容。如果k再次添加相同的键,其值将v被覆盖。putAll()尝试通过首先在内部扩展地图以容纳新数据来优化批量添加,以避免中间调整大小/重新散列操作。
| 归档时间: |
|
| 查看次数: |
12382 次 |
| 最近记录: |