为什么我没有获得密钥复制的运行时异常?

sap*_*Pro 0 java key map

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)

Sur*_*tta 5

你不会得到任何exception.它只是将覆盖现有的valuekey.

它在HashMap#Put()的文档中提到

将指定的值与此映射中的指定键相关联.如果映射先前包含键的映射,则替换旧值.

 map.put("key-1","val1");
 map.put("key-1","val2");
Run Code Online (Sandbox Code Playgroud)

在这种情况下,电流valuekey key-1IS "val2",因为"val1"被替换.