Java基于链表实现deque,给出代码并解释
时间: 2024-11-22 08:34:27 浏览: 13
在Java中,Deque (双端队列) 可以在两端进行插入和删除操作,而不仅仅是从一头添加或另一头移除。标准库中的`java.util.Deque`接口就是设计用来实现这个特性的,其中`ArrayDeque`是一个实现了`Deque`接口的典型实现,它基于双向链表结构。
以下是基于`ArrayDeque`实现一个简单的双端队列的代码示例:
```java
import java.util.ArrayDeque;
public class DequeExample {
public static void main(String[] args) {
// 创建一个ArrayDeque实例
ArrayDeque<Integer> deque = new ArrayDeque<>();
// 在两端添加元素
deque.addFirst(1); // 添加到头部
deque.addLast(2); // 添加到尾部
// 从两端取出元素
System.out.println(deque.removeFirst()); // 输出1
System.out.println(deque.removeLast()); // 输出2
// 查看当前队列内容
System.out.println(deque); // 输出可能为空
}
}
```
在这个例子中,我们首先创建了一个`ArrayDeque`实例,然后使用`addFirst()`方法将数字1添加到队列头部,`addLast()`方法将数字2添加到队列尾部。接着,我们使用`removeFirst()`和`removeLast()`方法分别从头部和尾部移除元素,并打印它们。最后,我们可以查看队列的内容(可能为空,因为已经移除了所有元素)。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)