后端岗位面试题更新 2026-08-05

ArrayList 和 LinkedList 各包含 200 个元素,在第 100 个位置各插入一个元素,哪个更快?

去哪儿旅行后端开发互联网/IT技术原理方案权衡Java

考察说明

考察对 ArrayList 与 LinkedList 底层数据结构及插入操作时间复杂度的理解

回答思路

  1. 能说出 ArrayList 使用数组存储,指定位置插入需移动后续元素,时间复杂度 O(n)
  2. 能说出 LinkedList 使用双向链表,指定位置插入需从头或尾遍历定位,复杂度 O(n)
  3. 结合第 100 个位置的具体情况,分析两者定位和移动成本差异
  4. 指出实际性能受 JVM 缓存、内存布局和节点分配等因素影响,不能绝对化