Java提供了两个类ArrayList和LinkedList,ArrayList的内部实现是基于内部数组Object[],ArrayList的前面或中间插入数据时,你必须将其后的所有数据相应的后移,这样必然要花费较多时间
ArrayList:我们可以将其看作是能够自动增长容量的数组。Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,利用ArrayList的toArray()返回一个数组。Arrays.asList()返回一个列表。ArrayList类扩展AbstractList并执行List接口。ArrayList支持可随需要而增长的动态数组。在Java中,标准数组是定长的。在数组创建之后,它们不能被加长或缩短,这也就意味着你必须事先知道数组可以容纳多少元素。但是,你直到运行时才能知道需要多大的数组。为了解决这个问题,类集框架定义了ArrayList 。本质上,ArrayList是对象引用的一个变长数组。也就是说,ArrayList能够动态地增加或减小其大小。数组列表以一个原始大小被创建。当超过了它的大小,类集自动增大。当对象被删除后,数组就可以缩小。
|