黑马程序员技术交流社区

标题: Array和ArrayList有什么差别 [打印本页]

作者: 朱君    时间: 2013-3-12 11:42
标题: Array和ArrayList有什么差别
Array和ArrayList有什么差别
作者: 易鹤龙    时间: 2013-3-12 13:25
ArrayList 对象是较为复杂的数组。ArrayList 类提供了 Array 类未提供的一些功能。例如:

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

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

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

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

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

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

需要数组的大多数情况都可以改为使用 ArrayList;它们更容易使用,并且一般与相同类型的数组具有相近的性能。
作者: 许庭洲    时间: 2013-3-12 14:13
本帖最后由 许庭洲 于 2013-3-12 14:14 编辑

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

作者: HM张扬    时间: 2013-3-12 17:05
ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能。例如:
    Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。如果更改了 ArrayList.Capacity 属性的值,则自动进行内存重新分配和元素复制。
    ArrayList 提供添加、插入或移除某一范围元素的方法。在 Array 中,您只能一次获取或设置一个元素的值。
详细你可以看这里:http://www.csharpwin.com/csharpspace/4767r2483.shtml
作者: 郝滨    时间: 2013-3-12 17:10
一个表数组 一个表集合 在遍历的时候会出现差别  一个Length属性 一个Count属性
作者: luxun1912    时间: 2013-3-12 19:51
一个是数组,一个集合,Array不能动态的添加数组成员,ArrayList集合可以随意向里面添加元素,任何类型都可以




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