黑马程序员技术交流社区

标题: list集合和map集合 [打印本页]

作者: yuehaotian    时间: 2013-12-22 10:45
标题: list集合和map集合

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

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


作者: 逸俊逍全    时间: 2013-12-22 11:34
List按对象进入的顺序保存对象,次序是List最重要的特点,同时集合中可以存放重复对象。对List的访问,就是通过 index位于特定位置的元素。 而Map是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。因而List集合底层调用不是Map集合的键值对。
作者: 青菜白汤    时间: 2013-12-22 13:51
list是对象集合,允许对象重复。
List按对象进入的顺序保存对象,不做排序或编辑操作。
map是键值对的集合,不允许key重复。
Map有内置的排序,因而不关心元素添加的顺序。
作者: smileven    时间: 2013-12-22 18:45
List集合可以存储重复元素,存储的是该元素的地址值,地址和地址里面存储的元素的值是一对一的关系。
而至于重复元素只是某一个元素的引用在List集合中复制了多次而已,而这些引用在List中的标识也不一样。
map集合是键值对的形式,key和value也是一对一的关系,而且key不允许重复,但是不同的key对于的值可以相同。
但是map集合的一个元素是key和value组合的键值对,用key唯一标识这个元素。
key不一定就是地址值,可以是自定义的1,2,3,的顺序。而map集合中key的唯一性的保证,可以是key的地址值,也可以是key的值。
所以应该是map集合key的唯一性的底层调用的是List集合的比较。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2