HashMap中键对应的值可以重复吗

Rodream 2013-07-28 09:22:30
键不可以重复,这个我知道,就是不知道值可不可以重复
...全文
30479 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
MyTaraxacum 2014-10-20
  • 打赏
  • 举报
回复
public static void main(String[] args) { HashMap<Integer,String> map=new HashMap<Integer,String>(); map.put(1, "apple"); map.put(1, "pear"); map.put(2, "cars"); for(Integer a: map.keySet()){ System.out.println(a+" "+map.get(a)); } 1 pear 2 cars
yang3wei 2013-08-02
  • 打赏
  • 举报
回复
没问题的~~~~~~
呵呵獸 2013-08-02
  • 打赏
  • 举报
回复
key和value都是可以重复的,也可以为null
Qimat77 2013-08-01
  • 打赏
  • 举报
回复
Qimat77 2013-08-01
  • 打赏
  • 举报
回复 2
可以重复,不过 如果key相等, 那么key值将被覆盖,取代先前的key,value随之改变,如果key不等,那么将开辟新的内存空间,来存储key-value的值,此时 先前的key和后者key ,他们的存储地址是不同的.
wleexi 2013-08-01
  • 打赏
  • 举报
回复
可以的..这种问题自己试一下也就知道了
JPF1024 2013-07-31
  • 打赏
  • 举报
回复
值是可以重复的。 Set<E> 是不能重复的 List<E>是可以重复的.
kitakyushu 2013-07-31
  • 打赏
  • 举报
回复
key 不能重复 后put的key-value 会覆盖之前已经put的
WSM6591289 2013-07-30
  • 打赏
  • 举报
回复
自己试试,实践出真理嘛
liuc0317 2013-07-30
  • 打赏
  • 举报
回复
这个问题 你也来问,你试一试啊,了解一下Map 的数据结构。
blue_1110 2013-07-29
  • 打赏
  • 举报
回复
引用 3 楼 u011325635 的回复:
[quote=引用 楼主 u010904858 的回复:] 键不可以重复,这个我知道,就是不知道值可不可以重复
看JDK说明 Set<K> keySet() Returns a Set view of the keys contained in this map. Collection<V> values() Returns a Collection view of the values contained in this map. 返回类型,直接说明问题,返回键集合是set,返回值集合是Collection(很明显JDK意思是:不排除重复)[/quote] 好解释
Acesidonu 2013-07-29
  • 打赏
  • 举报
回复
试试就知道了,别人说了你就信了?
  • 打赏
  • 举报
回复
键不能重复,值可以
Peng4Wang1 2013-07-28
  • 打赏
  • 举报
回复
键是set 值是collection 当然可以重写啦 package yingxi.yingkeyuan2; import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class HashMapTest { public static void main(String[] args) { HashMap map = new HashMap(); for(int i=0;i<args.length;i++) { if(map.get(args[i])==null) { map.put(args[i],new Integer(1)); } else { Integer in =(Integer)map.get(args[i]); in = new Integer(in.intValue()+1); map.put(args[i],in); } Set set = map.keySet(); for(Iterator it =set.iterator();it.hasNext();) { String key = (String)it.next(); Integer value =(Integer)map.get(key); System.out.println(key+" : "+value); } } } }
水货大帝 2013-07-28
  • 打赏
  • 举报
回复
值是可以重复的。如果值键重复而值不重复,后面相同的键的值会覆盖前面的一个。
DSADSDADS 2013-07-28
  • 打赏
  • 举报
回复
好像是可以的 吧
oh_Maxy 2013-07-28
  • 打赏
  • 举报
回复
就像函数关系:y=f(x)一样,(x,y)关系,x是不可以重复的键,y是有可能重复的。
小行星0906 2013-07-28
  • 打赏
  • 举报
回复
引用 楼主 u010904858 的回复:
键不可以重复,这个我知道,就是不知道值可不可以重复
看JDK说明 Set<K> keySet() Returns a Set view of the keys contained in this map. Collection<V> values() Returns a Collection view of the values contained in this map. 返回类型,直接说明问题,返回键集合是set,返回值集合是Collection(很明显JDK意思是:不排除重复)
S117 2013-07-28
  • 打赏
  • 举报
回复
值重复没问题的!
smallflyfish 2013-07-28
  • 打赏
  • 举报
回复
可以重复啊,键-值对不允许重复,但是关键字不允许重复就保证了这一点,值是可以重复的
加载更多回复(5)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧