ArrayList 通过索引获取元素时间复杂度为 O(1),核心方法是 get(int index),需确保索引合法(0 ≤ index
ArrayList 在 Java 中是基于数组实现的,所以通过索引获取元素是 O(1) 时间复杂度 的操作,非常快。核心方法就是
get(int index)。直接调用 get() 方法
这是最常用、最直接的方式。只要索引在合法范围内(
0 ),就能立即返回对应位置的元素。
- 语法:
list.get(index)- 如果索引越界(负数或 ≥ size),会抛出
IndexOutOfBoundsException- 不涉及遍历,底层是数组下标访问:
elementData[index]注意索引有效性检查
虽然 get() 本身不校验范围(由 JVM 数组访问机制保证),但业务中建议提前判断,避免运行时异常影响逻辑。
java-api-doc-generator下载分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
- 安全写法示例:
if (index >= 0 && index Object item = list.get(index);
}- 对空列表调用
get(0)一定会抛异常,务必先判空或检查 size与 LinkedList 对比理解“快速”的原因
LinkedList 的
get()是 O(n),需要从头或尾开始逐个跳转节点;而 ArrayList 底层是连续内存的 Object[],CPU 缓存友好,索引计算后直接寻址。
- 例如:100 万个元素的 ArrayList,取第 999999 个元素,和取第 0 个一样快
- 而同样大小的 LinkedList,取末尾元素可能要遍历近一半节点
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南












