数组(Array)和列表(ArrayList)的区别
2017-07-25 09:59
399 查看
列表(Array)是对Array的一个加强,分配数组列表和创建数组如下:
分配数组列表:new ArrayList<Employee>(100);
创建数组:new Employee[100];
两者之间的区别:
一,空间大小:
1,)它的空间大小是固定的,空间不够时也不能再次申请,所以需要事前确定合适的空间大小。
2,)ArrayList的空间是动态增长的,如果空间不够,它会创建一个空间比原空间大一倍的新数组,然后将所有元素复制到新数组中,接着抛弃旧数组。而且,每次添加新的元素的时候都会检查内部数组的空间是否足够。
二,存储内容
1,)Array数组可以包含基本类型和对象类型,
2,)ArrayList却只能包含对象类型。 但是需要注意的是:Array数组在存放的时候一定是同种类型的元素。ArrayList就不一定了,因为ArrayList可以存储Object。
三,方法:
ArrayList作为Array的增强版,当然是在方法上比Array更多样化,比如添加全部addAll()、删除全部removeAll()、返回迭代器iterator()等。
适用场景:
如果想要保存一些在整个程序运行期间都会存在而且不变的数据,我们可以将它们放进一个全局数组里,但是如果我们单纯只是想要以数组的形式保存数据,而不对数据进行增加等操作,只是方便我们进行查找的话,那么,我们就选择ArrayList。而且还有一个地方是必须知道的,就是如果我们需要对元素进行频繁的移动或删除,或者是处理的是超大量的数据,那么,使用ArrayList就真的不是一个好的选择,因为它的效率很低,使用数组进行这样的动作就很麻烦,那么,我们可以考虑选择LinkedList。
分配数组列表:new ArrayList<Employee>(100);
创建数组:new Employee[100];
两者之间的区别:
一,空间大小:
1,)它的空间大小是固定的,空间不够时也不能再次申请,所以需要事前确定合适的空间大小。
2,)ArrayList的空间是动态增长的,如果空间不够,它会创建一个空间比原空间大一倍的新数组,然后将所有元素复制到新数组中,接着抛弃旧数组。而且,每次添加新的元素的时候都会检查内部数组的空间是否足够。
二,存储内容
1,)Array数组可以包含基本类型和对象类型,
2,)ArrayList却只能包含对象类型。 但是需要注意的是:Array数组在存放的时候一定是同种类型的元素。ArrayList就不一定了,因为ArrayList可以存储Object。
三,方法:
ArrayList作为Array的增强版,当然是在方法上比Array更多样化,比如添加全部addAll()、删除全部removeAll()、返回迭代器iterator()等。
适用场景:
如果想要保存一些在整个程序运行期间都会存在而且不变的数据,我们可以将它们放进一个全局数组里,但是如果我们单纯只是想要以数组的形式保存数据,而不对数据进行增加等操作,只是方便我们进行查找的话,那么,我们就选择ArrayList。而且还有一个地方是必须知道的,就是如果我们需要对元素进行频繁的移动或删除,或者是处理的是超大量的数据,那么,使用ArrayList就真的不是一个好的选择,因为它的效率很低,使用数组进行这样的动作就很麻烦,那么,我们可以考虑选择LinkedList。
相关文章推荐
- 数组(Array)和列表(ArrayList)的区别
- 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?
- 数组(Array)和列表(ArrayList) LinkedList 有什么区别?
- 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用 Array 而不是 ArrayList?
- 数组(Array)和列表(ArrayList)的区别?什么时候应该使用Array?
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别(转)
- C#中Array与ArrayList与泛型数组 list<>的区别
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别是什么?
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别
- C#中的数组类型[],List,Array,ArrayList的区别
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别是什么?
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别
- java 集合 之 链表和线性表以及ArrayList的各方法的介绍及示例 及 ArrayList与LinkedList的区别分析 及 ArrayList与Array(数组)的区别
- c# 数组(Array),ArrayList ,List 的区别与联系
- 数组(array)与ArrayList的主要区别
- c# 数组(Array),ArrayList ,List 的区别与联系(摘录)
- 数组(array)与ArrayList的主要区别
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别是什么?
- Dictionary、ArrayList、Hashtable和数组 Array 的区别