28 Array和ArrayList有何区别?

Array 和 ArrayList 有何区别?

答:

  • 存储内容比较: Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。

  • 空间大小比较: array 是数组,arraylist 是数组列表,数组列表可以根据自身变化扩大,而数组指定长度后不可以。

  • 方法上的比较: ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等等。

  • Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明

  • 对于基本数据类型,集合使用自动装箱来减少编码工作量。但是,当处理固定大小基本数据类型的时候,这种方式相对较慢。(没懂这句话)

拓展:

Array 和 ArrayList 的相似点

  • 都具有索引(index),即可以通过index来直接获取和修改任意项。

  • 他们所创建的对象都放在托管堆中。

  • 都能够对自身进行枚举(因为都实现了IEnumerable接口)。

概念:

扫描二维码关注公众号,回复: 10908335 查看本文章
  • Array 即数组,声明方式可以如下:

  • 定义一个 Array 时,必须指定数组的数据类型及数组长度,即数组中存放的元素个数固定并且类型相同。

int[] array = new int[3];  //动态数组
int array [] = new int[3];
int[] array = {1, 2, 3};  //静态数组
int[] array = new int[]{1, 2, 3};
  • ArrayList 是动态数组,长度动态可变,会自动扩容。不使用泛型的时候,可以添加不同类型元素。
List list = new ArrayList(3);
list.add(1);
list.add("1");
list.add(new Double("1.1"));
list.add("第四个元素,已经超过初始长度");
for (Object o : list) {
    System.out.println(o);
}

参考博文:https://www.cnblogs.com/ConstXiong/p/11896095.html

参考博文:https://www.baidu.com/link?url=8ADM4HD62Y1uBsEWWROXKnKMswo1XBnVaUMRZHJmxlzCRqlSFai7yGUrslhZ9RTS&wd=&eqid=d19b9e3e001d7023000000065e9a5c5c

猜你喜欢

转载自www.cnblogs.com/ynzj123/p/12724396.html
28