有没有可能重新命名一个Hashmap的关键?

我正在寻找一种方法来重命名Hashmap键,但我不知道在Java中是否可能。

尝试删除元素,并用新的名称再次。 假设你的地图中的键是String ,可以这样实现:

 Object obj = map.remove("oldKey"); map.put("newKey", obj); 

将需要重命名的密钥的值分配给新密钥。 并删除旧的密钥。

 hashMap.put("New_Key", hashMap.get("Old_Key")); hashMap.remove("Old_Key"); 
 hashMap.put("New_Key", hashMap.remove("Old_Key")); 

这将做你想要的,但是,你会注意到,密钥的位置已经改变。

你不重命名一个hashmap键,你必须插入一个新的键入新的条目,并删除旧的。

一旦添加,您不能重命名/修改hashmap 密钥

唯一的方法是删除/删除密钥并插入新的密钥和值对。

原因 :在hashmap的内部实现中,Hashmap key修饰符被标记为final。

 static class Entry<K ,V> implements Map.Entry<K ,V> { final K key; V value; Entry<K ,V> next; final int hash; ...//More code goes here } 

对于参考: HashMap