array和arraylist

zyh207net 2011-08-08 04:44:27
本人一个j2ee菜鸟,在以前写j2se的时候很多的时候用到数组,因为牵扯到很多逻辑上的数,现在做家
ee却发现一个项目很多取存对象都是用List list=new ArrayList();我知道他们有区别,一个是数组结构一个是链表结构。但是其实质是什么?请求解答。。。
...全文
142 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lord_is_layuping 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xiaomiao13 的回复:]

ArrayList应该是用数组实现的,功能要比array强大;
1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明;
2. Array初始化时必须指定大小;ArrayList则不需要,会指定一个默认长度,并且随着对象个数自动增长;
3. Array只能存放一种类型的对象,list则没有这个限制,除非使用泛型;
4. Arra……
[/Quote]

ArrayList 自动扩展、只能存放对象而非原始类型数据、顶一下
luohuijun619 2011-08-09
  • 打赏
  • 举报
回复
可以说ArrayList是个动态数组,集合,array就只是数组,
SDMRauquin 2011-08-09
  • 打赏
  • 举报
回复
引用坟 http://topic.csdn.net/t/20040909/21/3357649.html

赞同里面18楼的
lliiqiang 2011-08-09
  • 打赏
  • 举报
回复
ArrayList长度可以变
Array不能变
lost_guy_in_scut 2011-08-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xiaomiao13 的回复:]

ArrayList应该是用数组实现的,功能要比array强大;
1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明;
2. Array初始化时必须指定大小;ArrayList则不需要,会指定一个默认长度,并且随着对象个数自动增长;
3. Array只能存放一种类型的对象,list则没有这个限制,除非使用泛型;
4. Arra……
[/Quote]
嗯嗯。List是个接口,而ArrayList是具体实现类,ArrayList封转了一系列的操作,嗯,底层是用数组实现的。
daijope 2011-08-08
  • 打赏
  • 举报
回复
ArrayList的底层结构是一个数组 Object[],与我们普通的数组的差别在于他给我们封装了很多很实用的方法,如add,iterator(),这样功能变强大了,我们使用也方便了。LinkedList的底层实现是链表。像ArrayList与LinkedList的差别与数组与链表的差别一样,当插入时链表就很高效,当查询是数组就很高效,我们不用去遍历整个链表,,,,
softroad 2011-08-08
  • 打赏
  • 举报
回复
LS new ArrayList(10) 他的size是多少?
xiaomiao13 2011-08-08
  • 打赏
  • 举报
回复
ArrayList应该是用数组实现的,功能要比array强大;
1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明;
2. Array初始化时必须指定大小;ArrayList则不需要,会指定一个默认长度,并且随着对象个数自动增长;
3. Array只能存放一种类型的对象,list则没有这个限制,除非使用泛型;
4. Array不能删除元素,只能置null;ArrayList可以随意add或delete某个元素;
qybao 2011-08-08
  • 打赏
  • 举报
回复
arraylist是通过底层的对数组的操作来实现的,除了提供了链表的操作接口和自动扩大容量外,底层实现和数组是一回事,包括插入操作的数组元素移动等等
softroad 2011-08-08
  • 打赏
  • 举报
回复
建议楼主看看Arraylist源码, ArrayList其实把数据存储在一个Object数组里,然后所有方法都是针对数组操作的。
比如addAll调用了System.arraycopy 等等。
wtc860104 2011-08-08
  • 打赏
  • 举报
回复
就是数组
龙四 2011-08-08
  • 打赏
  • 举报
回复
实质就是ArrayList底层就是一个数组,只不过提供了一些便利的API供你操作这个数组,否则你要自己处理,如数组长度不够了要扩容,查找数据等

62,614

社区成员

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

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