遍历一个大小相同的数组,分别用 ArrayList 和 LinkedList 进行 for 循环遍历,哪个性能更好?为什么?
考察说明
考察对顺序遍历场景下两者实际性能差异及其底层原因的理解
回答思路
- 指出 for 循环遍历 LinkedList 时 get(i) 是 O(n),整体 O(n^2)
- 说明 ArrayList 顺序遍历利用缓存局部性,性能优于 LinkedList
- 可能提及 LinkedList 用迭代器遍历可避免 get 的性能衰减
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。