deque的用法 java
时间: 2025-04-26 08:12:47 浏览: 19
### Java 中 Deque 接口的使用方法
Deque(双端队列)是一种线性集合,允许在两端进行插入和移除操作。Deque 可以被看作是一个栈或者队列,在某些情况下也可以作为列表来使用。
#### 创建 Deque 实例
可以使用 `ArrayDeque` 或者 `LinkedList` 来创建一个 Deque 的实例[^2]:
```java
// 使用 ArrayDeque 创建 Deque 对象
Deque<String> deque = new ArrayDeque<>();
```
#### 添加元素
通过调用不同的方法可以在 Deque 的头部或尾部添加新元素:
- **addFirst(E e)** 和 **offerFirst(E e)**:向双端队列入口处添加指定元素;如果无法这样做,则抛出异常(前者)或返回 false(后者)[^4]。
- **addLast(E e)** 和 **offerLast(E e)** : 向双端队列出口处添加指定元素;同上处理失败情况。
示例如下所示:
```java
deque.addFirst("first");
deque.offerLast("last");
```
#### 移除元素
同样可以从任意一端删除元素并获取其值:
- **removeFirst()** / **pollFirst()**: 获取并移除第一个元素;当为空时分别抛出 NoSuchElementException 或 返回 null。
- **removeLast()** / **pollLast()**: 获取并移除最后一个元素;行为类似于 removeFirst()/pollFirst()[^3].
代码片段如下:
```java
String firstElement = deque.removeFirst();
String lastElement = deque.pollLast();
```
#### 遍历 Deque
遍历 Deque 可以采用增强型for循环的方式来进行迭代访问每一个成员变量:
```java
for (String element : deque){
System.out.println(element);
}
```
此外还可以利用 Iterator 进行更灵活的操作比如条件判断等复杂逻辑实现。
#### 基本属性查询
除了上述基本功能外还提供了其他辅助函数用于检查当前状态如 isEmpty(), size() 等常用集合类的方法也适用于此接口下的对象。
---
阅读全文
相关推荐


















