Java 如何将字符串附加到HashMap元素?

Java 如何将字符串附加到HashMap元素?,java,hashmap,Java,Hashmap,我在java中有一个hashmap,我需要在一个特定的键上附加一个字符串。这个代码正确吗?或者调用.get方法来检索原始内容不是一个好的做法 myMap.put("key", myMap.get("key") + "new content") ; 谢谢如果您的意思是要用新值替换当前值,那绝对没问题 请注意,如果密钥不存在,那么最终将以“nullnewcontent”作为新值,这可能不是您想要的。您可能需要执行以下操作: String existing = myMap.get("key"); S

我在java中有一个hashmap,我需要在一个特定的键上附加一个字符串。这个代码正确吗?或者调用.get方法来检索原始内容不是一个好的做法

myMap.put("key", myMap.get("key") + "new content") ;

谢谢

如果您的意思是要用新值替换当前值,那绝对没问题

请注意,如果密钥不存在,那么最终将以“nullnewcontent”作为新值,这可能不是您想要的。您可能需要执行以下操作:

String existing = myMap.get("key");
String extraContent = "new content";
myMap.put("key", existing == null ? extraContent : existing + extraContent);
我在java中有一个hashmap,我需要在一个特定的键上附加一个字符串。

您需要删除映射,并使用更新的密钥添加新映射。这可以在一行中完成,如下所示

myMap.put(keyToUpdate + toAppend, myMap.remove(keyToUpdate));

该方法删除映射,并返回以前映射的值

如果您经常这样做,您可能希望使用StringBuilder

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);
Map Map=newlinkedhashmap();
StringBuilder sb=map.get(键);
如果(sb==null)
map.put(键,新StringBuilder(toAppend));
其他的
某人附加(出现);

“我需要将字符串附加到一个特定键上。”您的解决方案附加到映射中的一个值。@aioobe:我将其解释为“我需要将字符串附加到与一个特定键关联的值上”。也许OP会澄清。。。