ArrayList和LinkList

1.Array

(数组)是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的。

Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据, (因为删除数据以后, 需要把后面所有的数据前移)

缺点: 数组初始化必须指定初始化的长度, 否则报错

2.List

List—是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式,它继承Collection。

List有两个重要的实现类:ArrayList和LinkedList  、vector

2.1ArrayList

       相当于能够自动增长容量的数组。适合多查询少插入删除的环境下。当然在最后插入也很适合,因为如果在开头和中间插入,后面所有的元素都要向后移动。

       toArray返回一个数组

       asList返回一个列表

       基于数组实现,非线程,效率高,增删慢,查找快

2.2LinkList

        相当于双链表。适合插入删除的环境。

        基于链表实现,链表内存散列,增删快,查找慢

2.3Vector

        基于数组实现,线程实现,效率低、增删慢、查找慢

         

原文地址:https://www.cnblogs.com/yh-f/p/13672072.html