ArrayList与数组使用上的区别
1、数组的容量是固定的(虽然也可以扩充的方法,但不主张),而ArrayList的容量是动态的。
2、一个数组只能保存一种类型,而Arraylist可以保存不同类型。
3、数组可以保存基本数据类型,但ArrayList不可以,它保存的是OBJECT类的引用,因此在取出元素时,要做类型转换。
4、数组不能声明为只读数组,而ArrayList可以提供ReadOnly方法,以只读的方式使用。
5、数组的效率高,但ArrayList的效率低。当增加一个新元素时,ArrayList首先要检查其内部数组是否越界,如没有越界,则可增加;如越界,则新建一个两倍于当前内部数组容量的新数组,将旧内部数组的元素拷贝至新内部数组,并废弃旧数组,因此其效率相比数组要低。