A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Map 关注事物的映射和键值的唯一性。这句话是什么意思?请哥们举个例子,好吗?先谢了!

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
键是唯一的不能重复(键和键的比较),值是唯一的不能重复(一个值只能对应一个键,不能对应多个键,但值和值之间可以重复)
这样就保证了映射的唯一
例如:
一个班级的的学生是集合map;
每个学生的学号是键Key
每个学生的名字是值value

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
在Map中保存具有映射关系的数据,包括两组值,一组是KEY,另一组是value,而键值必须在这个集合中是唯一的就是说不好可重复(即将所有的key放在一起的话与Set是相似的),而value集合是与List集合相似的。映射的唯一性,是指键值和value之间的映射关系是单向唯一的。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
map集合的键值唯一性,是指的key和value之间一一对应的关系.比如新建一个Map对象: Map<String,Integer>  map=new HashMap<String,Integer> (); 往这个对象中存入值,如:
map.put("张三",23); 这里的唯一性可以说成字符串"张三"这个Key和23这个值是一一对应的.这个映射关系中,Key是不可以相同的,但Value是可以相同的.随便说下.怎么去除key的相同值.首先在存之前会通过hashcode()方法计算哈希值,若不同就存入,若相同再通过equals()进行比较,不同就存,相同就不存.

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
一个映射不能包含重复的键;每个键最多只能映射一个值。
回复 使用道具 举报
Map集合中存储的是具有映射关系的键值对对象,键和值是一一对应的关系,也即是一个键只能对应一个值,其中要注意的是:Map集合中键是唯一的不可重复,而值是可以重复的,当向Map集合存储添加元素时,如果键已经存在,那么该键所对应的值会被新的值所覆盖。比如一个Map集合存储的某个字符串中每个字符出现的次数,那么这时候就会以字符作为键,出现次数作为值,此时字符是不可重复,但是出现的次数是可以重复的。试想一下,如果字符可以重复,也即是集合中的键重复,比如集合中有两个元素都以a作为键,那么查找a字符出现的次数时集合就不知道要显示的是哪一个值。所以键是不能重复的。其实可以把可以把Map集合中的键理解为数据库表中的主键。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马