我有这个东西,假设 HashMap> 有 <> "11,name2,name1" 和 "14,name4,name5" ......所以我试图先删除 11 并且它的所有数据 name2 和 name1 将被传输到14。但问题是14自己的原始数据name4和name 5被覆盖了。我想把它们都保留在 14 岁。我应该怎么做?希望你能帮助我。谢谢你。
List<String> oldValue = map.remove(oldKey);
map.put(newKey, oldValue);
您可以尝试以下方式。从旧密钥中提取旧列表。并将列表项添加到新键的列表中。
// remove old key
List<String> oldValue = map.remove(oldKey);
// add new key with empty list if not exists
if(!map.containsKey(newKey))
{
map.put(newKey, new LinkedList<String>());
}
// new list for new value
List<String> newValue = map.get(newKey);
// add items from old value to new list
for(String s : oldValue){
// eliminate possible duplicates
if(!newValue.contains(s)){
newValue.add(s);
}
}