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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱君 中级黑马   /  2013-3-12 11:42  /  1529 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Array和ArrayList有什么差别

评分

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

查看全部评分

5 个回复

倒序浏览
ArrayList 对象是较为复杂的数组。ArrayList 类提供了 Array 类未提供的一些功能。例如:

Array 的容量是固定的,而 ArrayList的容量可根据需要自动扩充

ArrayList 提供添加、插入或移除某一范围元素的方法。在 Array 中,您只能一次获取或设置一个元素的值。

另一方面,Array 提供了 ArrayList所缺少的某些灵活性。例如:

可以设置 Array 的下限,但 ArrayList 的下限始终为零。

Array 可以具有多个维度,而 ArrayList 始终只是一维的。

Array 的性能优于 ArrayList,这是因为 ArrayList 的元素属于 Object 类型,所以在存储或检索值类型时通常发生装箱和取消装箱操作。

需要数组的大多数情况都可以改为使用 ArrayList;它们更容易使用,并且一般与相同类型的数组具有相近的性能。

评分

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

查看全部评分

回复 使用道具 举报
本帖最后由 许庭洲 于 2013-3-12 14:14 编辑

1. Array的用法与数组几乎一样,可以看做是数据。在定义的时候需要指定长度;
2. ArrayList的用法与普通集合一样,定义的时候不需要指定长度;
3. Array对象在获得元素个数时通过数据的获得方式(Length属性):animalArray.Length;
4. ArrayList对象在获得元素个数时通过集合的获得方式(Count属性):animalArrayList.Count;

评分

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

查看全部评分

回复 使用道具 举报
ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能。例如:
    Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。如果更改了 ArrayList.Capacity 属性的值,则自动进行内存重新分配和元素复制。
    ArrayList 提供添加、插入或移除某一范围元素的方法。在 Array 中,您只能一次获取或设置一个元素的值。
详细你可以看这里:http://www.csharpwin.com/csharpspace/4767r2483.shtml

评分

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

查看全部评分

回复 使用道具 举报
一个表数组 一个表集合 在遍历的时候会出现差别  一个Length属性 一个Count属性

评分

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

查看全部评分

回复 使用道具 举报
一个是数组,一个集合,Array不能动态的添加数组成员,ArrayList集合可以随意向里面添加元素,任何类型都可以

评分

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

查看全部评分

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