ArrayList
1:数据结构是使用对象数组来实现的
2:在往数组指定下标插入元素或者删除元素的时候使用的是System.arraycopy()函数
LinkedList
1:内部使用链表来实现的
2:获取指定索引值下标的元素值,内部做了优化,如果下标值小于链表元素大小的一半,从头结点开始查找,否则从尾节点开始查找
3:LinkedList比较适合做插入,删除操作,不太适合做查找
4:实现了栈和队列
队列相关的操作
add():往队尾插入元素
offer():往队尾插入元素
poll():返回队列的头部并且移除
element():返回队列头部,和peek()的区别是如果队列是空的,抛异常
peek():返回队列头部
栈相关的操作
pop():出栈操作
push():入栈操作