Arraylist
概念
- Arraylist非线程安全
- Arraylist 底层使用的是Object数组
- ArrayList 采用数组存储,插入和删除元素的时间复杂度受元素位置的影响
- ArrayList 支持快速随机访问,就是通过元素的序号快速获取元素对象
- ArrayList的空间浪费主要体现在列表的结尾会预留一定的容量空间
- Arraylist可变大小的,可以动态的扩容
- ArrayList底层是数组,查询快,增删慢
LinkedList
概念
- LinkedList非线程安全
- LinkedList 底层使用的是双向链表
- LinkedList 采用链表存储,插入删除元素时间复杂度不受元素位置的影响
- LinkedList 在添加和删除元素时比Arraylist性能更好一些
- LinkedList 不支持高效的随机元素访问
- LinkedList的占用空间更大,因为LinkedList要存放直接后继和直接前驱以及数据
- LinkedList底层是链表,查询慢、增删快