在HashMap命名map我复制,keys但我仍然没有得到密钥复制的任何运行时异常.为什么会这样?
地图数据结构不能具有重复键.
import java.util.*;
class KeyTest {
public static void main(String args[]) {
Map<String,String> map = new HashMap<String,String>();
map.put("key-1","val");
map.put("key-1","val");
map.put("key-1","val");
map.put("key-1","val");
map.put("key-1","val");
}
}
Run Code Online (Sandbox Code Playgroud)
你不会得到任何exception.它只是将覆盖现有的value与key.
它在HashMap#Put()的文档中提到
将指定的值与此映射中的指定键相关联.如果映射先前包含键的映射,则替换旧值.
map.put("key-1","val1");
map.put("key-1","val2");
Run Code Online (Sandbox Code Playgroud)
在这种情况下,电流value为key key-1IS "val2",因为"val1"被替换.