Java中的Map允许有重复元素吗

如题所述

首先Map是键值对集合,因为map是无序的键和值是一一对应的,一个键(key)对应一个值,通过键(key)来找值,但是如果你定义两个同样的key,这样就违背了java对map的定义,键和值是一一对应的;

特别说明:建的值是不能相同的,这个语法会报错,

但是如果你的键是引用类型(存的是地址),在语法上是不会报错的,后一个会将前一个覆盖,从而指向后一个键的值

public class TestEquals {

public static void main(String[] args) {
String s1=new String("abc");
String s2=new String("abc");

Map map=new HashMap();
map.put(s1, "abc123");
map.put(s2, "ABC456");//第二个会覆盖第一个元素
System.out.println(map.size());
System.out.println(map.get(s1));
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-02
key不可以重复,但是value是可以重复的,如果put了相同的key,那么后面的会覆盖前面的。。本回答被网友采纳
相似回答