LinkedList<Integer> 常用方法通俗讲解
LinkedList<Integer> linkedList = new LinkedList<>(); 创建了一个整数类型的链表。链表就像一列火车,每节车厢(节点)都连接着下一节车厢。下面我用通俗易懂的方式讲解它的主要方法:
1. 添加元素
add(5)- 在链表末尾添加数字5,就像在火车最后加一节车厢addFirst(3)- 在链表开头添加数字3,就像在火车头前面加一节车厢addLast(7)- 和add(7)一样,在末尾添加add(1, 9)- 在索引1的位置(第2个位置)插入数字9
2. 获取元素
get(2)- 获取索引为2的元素(第3个元素)getFirst()- 获取第一个元素(火车头)getLast()- 获取最后一个元素(火车尾)
3. 删除元素
remove()- 删除并返回第一个元素remove(3)- 删除索引为3的元素removeFirst()- 删除第一个元素removeLast()- 删除最后一个元素remove(Integer.valueOf(5))- 删除第一个出现的数字5
4. 检查元素
contains(5)- 检查链表中是否有数字5indexOf(5)- 找到数字5第一次出现的位置lastIndexOf(5)- 找到数字5最后一次出现的位置
5. 其他常用方法
size()- 返回链表长度(有多少节车厢)clear()- 清空链表(拆掉整列火车)isEmpty()- 检查链表是否为空set(2, 10)- 把索引2位置的元素改成10
6. 特殊方法(因为LinkedList也实现了Deque接口)
peek()- 查看第一个元素但不删除poll()- 删除并返回第一个元素offer(5)- 在末尾添加元素5push(5)- 在开头添加元素5pop()- 删除并返回第一个元素
使用示例
LinkedList<Integer> train = new LinkedList<>();
train.add(1); // 火车: [1]
train.addFirst(2); // 火车: [2, 1]
train.addLast(3); // 火车: [2, 1, 3]
int first = train.getFirst(); // first = 2
train.removeLast(); // 火车: [2, 1]
链表适合频繁在开头或中间插入/删除元素的场景,但随机访问(按索引找元素)比数组慢。
