Java 为什么不';我不能为密钥复制获取运行时异常吗?
在名为Java 为什么不';我不能为密钥复制获取运行时异常吗?,java,map,key,Java,Map,Key,在名为map的HashMap中,我复制了键,但是我仍然没有得到任何键复制的运行时异常。为什么会这样 地图数据结构不能有重复的键 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
的HashMap
中,我复制了键
,但是我仍然没有得到任何键复制的运行时异常。为什么会这样
地图数据结构不能有重复的键
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");
}
}
import java.util.*;
类键测试{
公共静态void main(字符串参数[]){
Map Map=newhashmap();
地图放置(“键-1”、“val”);
地图放置(“键-1”、“val”);
地图放置(“键-1”、“val”);
地图放置(“键-1”、“val”);
地图放置(“键-1”、“val”);
}
}
您不会得到任何异常
。它只是用键覆盖现有的值
这一点在《美国宪法》的文件中也有提及
将指定的值与此映射中的指定键相关联。如果映射以前包含键的映射,则替换旧值
在这种情况下,键
键-1
的当前值
为“val2”
,因为“val1”
已被替换 根据
将指定值与此映射中的指定键关联(可选操作)。如果映射以前包含键的映射,则旧值将替换为指定值
返回:
与键关联的上一个值,如果键没有映射,则为null。(如果实现支持null值,则null返回还可以指示先前与key关联的映射为null。)
Map.put
不会在重复键上引发异常。您可以测试put的返回值,如果它不是null
,则键是重复的。如果它是null
,则取决于具体的映射实现是否允许null<代码>HashMap
可以。它为什么要抛出异常?你为什么想要它呢?文件上怎么说?
map.put("key-1","val1");
map.put("key-1","val2");