在Java中,LinkedList 是 java.util 包中的一个类,它实现了 List 和 Deque 接口,因此可以用作列表(List)或双端队列(Deque)。LinkedList 基于双向链表实现,这意味着每个元素都存储了指向前一个和后一个元素的引用。
以下是如何在Java中使用 LinkedList 的一些基本示例:
import java.util.LinkedList;
LinkedList<String> list = new LinkedList<>();
list.add("Element 1"); // 在列表末尾添加元素
list.addFirst("First Element"); // 在列表开头添加元素
list.addLast("Last Element"); // 在列表末尾添加元素
String firstElement = list.getFirst(); // 获取第一个元素
String lastElement = list.getLast(); // 获取最后一个元素
String elementAtIndex = list.get(0); // 获取索引为0的元素
list.removeFirst(); // 删除第一个元素
list.removeLast(); // 删除最后一个元素
list.remove("Element 1"); // 删除指定的元素
// 使用迭代器遍历
for (String element : list) {
System.out.println(element);
}
// 使用普通for循环遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
// 使用ListIterator遍历(可以双向遍历)
ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
boolean containsElement = list.contains("Element 1");
int size = list.size();
list.clear();
LinkedList 还提供了许多其他方法来操作列表,例如 addAll, removeAll, retainAll, toArray 等。由于 LinkedList 实现了 Deque 接口,它还可以用作栈(Stack)或队列(Queue),提供了如 push, pop, peek, offer, poll 等方法。
请注意,LinkedList 不是线程安全的。如果在多线程环境中使用 LinkedList,需要在外部进行同步或者使用 Collections.synchronizedList 方法来包装 LinkedList 实例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。