我在Java中有一个哈希图,我需要将一个字符串追加到一个特定的键上。这段代码正确吗?或者调用.get方法检索原始内容不是一个好的做法吗?
myMap.put("key", myMap.get("key") + "new content") ;
谢谢
如果你想要用新的值替换当前值,那是完全可以的。
但请注意,如果这个键不存在,你将会得到 "nullnew content" 作为新值,这可能不是你想要的。你可能希望做如下处理:
String existing = myMap.get("key");
String extraContent = "new content";
myMap.put("key", existing == null ? extraContent : existing + extraContent);
myMap.put(keyToUpdate + toAppend, myMap.remove(keyToUpdate));
Map.remove
方法可以移除一个映射,并返回被移除的值。
Map<String, StringBuilder> map = new LinkedHashMap<String, StringBuilder>();
StringBuilder sb = map.get(key);
if (sb == null)
map.put(key, new StringBuilder(toAppend));
else
sb.append(toAppend);