我做了一个搜索,并惊讶于之前没有被问过(至少我找不到它).
我有这样的地图:
Map<String, String> myMap
Run Code Online (Sandbox Code Playgroud)
我知道我可以检查地图中是否存在一个键containsKey(Object key);,我可以使用替换值replace(String key, String value);并自然地使用值put(String key, String value);
现在,如果我想检查一个值,如果它存在更新它,否则插入它,我必须使用一个条件:
if(myMap.containsKey(key)) {
myMap.replace(key, value);
} else {
myMap.put(key, value);
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?我个人认为这种情况有点不必要,并且过于复杂,可能只有一行而不是五行!
Jen*_*ens 15
替换将通过以下方式完成put():
从HashMap的文档
public V put(K key,V value)将指定值与此映射中的指定键关联.如果映射先前包含键的映射,则替换旧值.
所以你只需要
myMap.put(key, value);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17034 次 |
| 最近记录: |