List是集合列表的接口,ArrayList和LinkedList是List的实现类
ArrayList是基于动态数组的数据结构
LinkedList是基于链表的数据结构
ArrayList查找快,增删慢
因为ArrayList是动态数组顺序表,顺序表的存储地址是连续的,可以通过索引直接进行查询,但是在增加删除方面,就需要把其它的元素顺序移动,并且如果数组长度不够,就要新建数组进行存值,所以比较耗时。
LinkedList增删快,查找慢
因为LinkedList是双向链表的数据结构,没有索引的概念,同时实现了双端队列 Deque 接口,链表节点的存储地址是不连续的,每个存储地址通过指针关联,在查找时需要进行指针遍历节点,所以查找比较慢,而在插入和删除时比较快,因为是链表结构,在插入Node元素,移动指针可以直接插入。