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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yuehaotian 中级黑马   /  2013-12-22 10:45  /  1337 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


list集合可以存储重复元素,相当于将该元素的地址值存入数组,多个相同地址值对应一个元素

那么,这相当于多个Key对应一个Value ,那么是不是说list集合底层调用的也是map集合的键值对??

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

3 个回复

倒序浏览
List按对象进入的顺序保存对象,次序是List最重要的特点,同时集合中可以存放重复对象。对List的访问,就是通过 index位于特定位置的元素。 而Map是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。因而List集合底层调用不是Map集合的键值对。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
list是对象集合,允许对象重复。
List按对象进入的顺序保存对象,不做排序或编辑操作。
map是键值对的集合,不允许key重复。
Map有内置的排序,因而不关心元素添加的顺序。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
List集合可以存储重复元素,存储的是该元素的地址值,地址和地址里面存储的元素的值是一对一的关系。
而至于重复元素只是某一个元素的引用在List集合中复制了多次而已,而这些引用在List中的标识也不一样。
map集合是键值对的形式,key和value也是一对一的关系,而且key不允许重复,但是不同的key对于的值可以相同。
但是map集合的一个元素是key和value组合的键值对,用key唯一标识这个元素。
key不一定就是地址值,可以是自定义的1,2,3,的顺序。而map集合中key的唯一性的保证,可以是key的地址值,也可以是key的值。
所以应该是map集合key的唯一性的底层调用的是List集合的比较。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

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