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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 魏志雷 黑马帝   /  2012-1-3 14:09  /  8842 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 魏志雷 于 2012-1-3 16:07 编辑

这两天看数组,学过list和map,都可以存储元素,都可通过遍历读取,但是他们有什么本质区别么?

该贴已经同步到 魏志雷的微博

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

9 个回复

倒序浏览
list容器是表示不连续的内存区域,不支持随即访问,可以高效的添加和删除元素
map是关联容器,是键-值对的集合,可以用键作为下标获取值,在查找方面有很高的效率

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
数组一旦创建就不能改变长度了 这就在操作的时候造成了麻烦。而List 和set的长度不是固定的,这就给造作带来了方便,ArrayList底层不就是数组么。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 为梦而战 于 2012-1-3 14:39 编辑

     数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)
List和Map集合可以存储和操作数目不固定的一组数据。且只能存放引用类型的的数据,不能存放基本数据类型.
         List按对象进入的顺序保存对象,不做排序或编辑操作。Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。
       一般情况对数组的操作是按过程化思想操作,而对这些集合就按面向对象方法操作了,这些集合中都封装了很多用于操作它们的方法,根据List和Map各自的特点去操作其中的对象。
     

评分

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

查看全部评分

回复 使用道具 举报
Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。效率高,但容量固定且无法动态改变。
array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。

List:将以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。
Map,持有 key-value pair,像个小型数据库。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 沈样 于 2012-1-3 14:53 编辑

我觉得两个就是数组集合,都是存储对象的,不过要看用到什么场合了,list是顺序保存对象,map是键值对应保存对象的。list就是放东西的一个萝框,放进去拿出来,map则更像商店,你用相应的钱去买相应的东西,不能随便拿,要用相应的钱去买相应的东西。理论学得不好,不对请多指教
回复 使用道具 举报
首先,list是继承collection的 map而是直接继承object的collection是继承object的 ,collection中有list和set ,list为有序储存,可以重复 有角标  还有一些自己的方法 set为无序的 不可重复  而且方法是继承collection    map是一次存入一个元素。以键值对的形式存在,  其中必须要保持键(key)的唯一性,而且map里的方法何collection中的方法也有区别。
回复 使用道具 举报
为梦而战 发表于 2012-1-3 14:35
数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)
List和Map集合可以 ...

加上上面的解释,大概懂了,随着深入学习可能会理解的更透彻
回复 使用道具 举报
List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组

Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个 value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。

评分

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

查看全部评分

回复 使用道具 举报
是啊,互相学习和交流可以少走弯路。也只有再进行不断的学习和应用的过程中才能理解的更透彻,体会的更深刻!
一起努力!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马