成品网站能用吗,旅行社的网站建设,出国留学网站开发,网站备案怎么关闭网站在 Java 中#xff0c;链表#xff08;LinkedList#xff09;是一个非常重要的数据结构#xff0c;它可以动态地插入和删除元素#xff0c;因此比数组更灵活。Java 提供了 LinkedList 类#xff0c;该类实现了 List 接口#xff0c;并且是基于双向链表实现的#xff0c…在 Java 中链表LinkedList是一个非常重要的数据结构它可以动态地插入和删除元素因此比数组更灵活。Java 提供了 LinkedList 类该类实现了 List 接口并且是基于双向链表实现的因此支持高效的插入、删除操作尤其是在列表的两端。
LinkedList 类位于 java.util 包中提供了许多用于操作链表的方法。
1. 创建链表
import java.util.LinkedList;LinkedListString list new LinkedList();2. 链表常用方法及详细说明
2.1 add(E e)
功能将指定的元素添加到链表的末尾。返回类型boolean对于 LinkedList始终返回 true示例
LinkedListString list new LinkedList();
list.add(Apple); // 添加 Apple 到末尾
list.add(Banana); // 添加 Banana 到末尾
System.out.println(list); // 输出: [Apple, Banana]2.2 addFirst(E e)
功能将指定的元素添加到链表的开头。返回类型void示例
LinkedListString list new LinkedList();
list.add(Apple);
list.addFirst(Orange); // 将 Orange 添加到开头
System.out.println(list); // 输出: [Orange, Apple]2.3 addLast(E e)
功能将指定的元素添加到链表的末尾。实际上这与 add() 方法相同因为 LinkedList 是一个双向链表。返回类型void示例
LinkedListString list new LinkedList();
list.add(Apple);
list.addLast(Banana); // 将 Banana 添加到末尾
System.out.println(list); // 输出: [Apple, Banana]2.4 remove()
功能移除并返回链表的第一个元素。如果链表为空抛出 NoSuchElementException。返回类型E示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
String removed list.remove(); // 移除并返回第一个元素 Apple
System.out.println(removed); // 输出: Apple
System.out.println(list); // 输出: [Banana]2.5 removeFirst()
功能移除链表的第一个元素。如果链表为空抛出 NoSuchElementException。返回类型E示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
String removedFirst list.removeFirst(); // 移除第一个元素 Apple
System.out.println(removedFirst); // 输出: Apple
System.out.println(list); // 输出: [Banana]2.6 removeLast()
功能移除链表的最后一个元素。如果链表为空抛出 NoSuchElementException。返回类型E示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
String removedLast list.removeLast(); // 移除最后一个元素 Banana
System.out.println(removedLast); // 输出: Banana
System.out.println(list); // 输出: [Apple]2.7 get(int index)
功能返回链表中指定位置的元素基于零索引。返回类型E示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
String element list.get(1); // 获取索引为 1 的元素 Banana
System.out.println(element); // 输出: Banana2.8 set(int index, E element)
功能替换链表中指定位置的元素。返回类型E返回被替换的元素示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
list.set(1, Orange); // 将索引 1 的元素 Banana 替换为 Orange
System.out.println(list); // 输出: [Apple, Orange]2.9 remove(int index)
功能移除链表中指定位置的元素并返回该元素。返回类型E示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
String removedElement list.remove(1); // 移除索引为 1 的元素 Banana
System.out.println(removedElement); // 输出: Banana
System.out.println(list); // 输出: [Apple]2.10 peek()
功能返回链表的第一个元素但不移除它。如果链表为空返回 null。返回类型E示例
LinkedListString list new LinkedList();
list.add(Apple);
String first list.peek(); // 获取第一个元素 Apple但不移除
System.out.println(first); // 输出: Apple
System.out.println(list); // 输出: [Apple]2.11 peekFirst()
功能返回链表的第一个元素但不移除它。如果链表为空返回 null。返回类型E示例
LinkedListString list new LinkedList();
list.add(Apple);
String first list.peekFirst(); // 获取第一个元素 Apple
System.out.println(first); // 输出: Apple2.12 peekLast()
功能返回链表的最后一个元素但不移除它。如果链表为空返回 null。返回类型E示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
String last list.peekLast(); // 获取最后一个元素 Banana
System.out.println(last); // 输出: Banana2.13 clear()
功能移除链表中的所有元素。返回类型void示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
list.clear(); // 清空链表
System.out.println(list); // 输出: []2.14 contains(Object o)
功能检查链表中是否包含指定的元素。返回类型boolean示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
boolean containsApple list.contains(Apple); // true
boolean containsOrange list.contains(Orange); // false
System.out.println(containsApple); // true
System.out.println(containsOrange); // false2.15 size()
功能返回链表中元素的个数。返回类型int示例
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
int size list.size(); // 2
System.out.println(size); // 23. 遍历链表
3.1 使用普通 for 循环遍历
LinkedListString list new LinkedList();
list.add(Apple);
list.add(Banana);
for (int i 0; i list.size(); i) {System.out.println(list.get(i));
}3.2 使用增强型 for 循环遍历foreach
for (String item : list) {System.out.println(item);
}3.3 使用 Iterator 遍历
IteratorString iterator list.iterator();
while (iterator.hasNext()) {System.out.println(iterator.next());
}4. 总结
LinkedList 提供了灵活的方式来处理链表中的元素。以下是一些常用的方法
add()、addFirst()、addLast()添加元素。remove()、removeFirst()、removeLast()移除元素。get()、set()访问或修改元素。peek()、peekFirst()、peekLast