本人一个j2ee菜鸟,在以前写j2se的时候很多的时候用到数组,因为牵扯到很多逻辑上的数,现在做家
ee却发现一个项目很多取存对象都是用List list=new ArrayList();我知道他们有区别,一个是数组结构一个是链表结构。但是其实质是什么?请求解答
ee却发现一个项目很多取存对象都是用List list=new ArrayList();我知道他们有区别,一个是数组结构一个是链表结构。但是其实质是什么?请求解答
比如addAll调用了System.arraycopy 等等。
1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明;
2. Array初始化时必须指定大小;ArrayList则不需要,会指定一个默认长度,并且随着对象个数自动增长;
3. Array只能存放一种类型的对象,list则没有这个限制,除非使用泛型;
4. Array不能删除元素,只能置null;ArrayList可以随意add或delete某个元素;
ArrayList 自动扩展、只能存放对象而非原始类型数据、顶一下
Array不能变