双向队列(Deque,全称Double-Ended Queue)是一种允许在队列的头部和尾部高效插入、删除和访问元素的数据结构。它既支持先进先出(FIFO)的队列模式,也支持后进先出(LIFO)的栈模式,是Java集合框架中功能最灵活的数据结构之一。本文将深入探讨Java中双向队列的核心操作、实现类及其典型应用场景。
阅读本文前如果你对队列不理解,请阅读本人的另外一篇文章!
深入理解Java中的队列:核心操作、实现与应用-CSDN博客
一、双向队列的核心操作
Java通过java.util.Deque接口定义了双向队列的操作方法,其核心方法分为头部操作和尾部操作两类,且每种操作均提供“抛出异常”和“返回特殊值”两种形式:
| 操作类型 | 头部操作(抛出异常) | 头部操作(返回特殊值) | 尾部操作(抛出异常) | 尾部操作(返回特殊值) | 描述 |
|---|---|---|---|---|---|
| 插入元素 | addFirst(e) |
offerFirst(e) |
addLast(e) |
offerLast(e) |
在头/尾部插入元素,失败时抛出异常或返回false |
| 移除元素 | removeFirst() |
pollFirst() |
removeLast() |
pollLast() |
移除头/尾部元素,队列空时抛出异常或返回null |
| 查看元素 | getFirst() |
peekFirst() |
getLast() |
peekLast() | <

:操作、实现与应用&spm=1001.2101.3001.5002&articleId=147234919&d=1&t=3&u=7bfc78941aab48d686d1a05a720ccbb7)
3万+

被折叠的 条评论
为什么被折叠?



