Array 和ArrayList


Array(数组)

所谓数组,是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。(来源于百科)


ArrayList(列表)

ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处(来源于百科)

存储内容比较

Array数组可以包含基本类型和对象类型,
ArrayList却只能包含对象类型

空间大小比较

Array:空间大小是固定的,空间不够时也不能再次申请,所以需要事前确定合适的空间大小。
ArrayList:空间是动态增长的,如果空间不够,它会创建一个新数组,然后将所有元素复制到新数组中,接着抛弃旧数组。而且,每次添加新的元素的时候都会检查内部数组的空间是否足够。

方法上的比较:

Arraylist 比Array多了很多的方法比如:addAll()、删除全部removeAll()、返回迭代器iterator()等

特点:

Array
相比arraylist而言,高效,但使用前先设定容量,容量固定难以动态扩展。
通常情况下存储同构对象(如int[] String[]等),但声明object[]的数组除外
存储类型校验
不能够随意添加项和删除其中的项

ArrayList:
容量动态增长,牺牲效率
不校验类型,编译时会
ArrayList可以在任意位置插入和删除项

发布了125 篇原创文章 · 获赞 29 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_40486955/article/details/103441958
今日推荐