类型 方法 描述
boolean
add(E
element)
将指定元素添加到队列的尾部。如果添加失败,
会引发异常
boolean
offer(E
element)
将指定元素添加到队列的尾部。true/false
E remove()
移除并返回队列的头部元素。如果失败,引发异
常
E poll() 移除并返回队列的头部元素。
E element()
返回队列的头部元素,但不移除它。如果队列为
空,引发异常
E peek() 返回队列的头部元素,但不移除它。
Queue
接
⼝
接口概述
是Collection接口的子接口,用于表示一种队列(FIFO,先进先出)的数据结构。Queue接口定义了一组用于操
作队列的方法
Queue接口还继承自Collection接口中的一些方法,如size()、isEmpty()、contains(Object o)等,用于操作队
列中的元素。
Queue接口的实现类有很多,例如常用的LinkedList、ArrayDeque等。这些实现类提供了不同的性能和行为特
点,可以根据具体的需求选择合适的实现类。
注意:Queue接口不允许插入null元素,也不允许包含重复的元素。
Deque接口
Deque 接口(双端队列)是 Java 标准库中的一种集合接口,代表了一种具有队列和栈特性的数据结构,支持在
队列的两端进行插入和删除操作。Deque 接口继承自 Queue 接口,提供了更丰富的操作,包括在队列的两端进
行插入、删除、检索等操作。
Deque 接口的主要特点包括:
(1)双向操作:Deque 接口允许在队列的两端进行插入、删除、检索操作。可以在队列的头部(前面)或尾部
(后面)插入、删除、检索元素,提供了更灵活的操作方式。
(2)队列特性:Deque 接口支持队列的特性,包括在队列的尾部进行插入操作,从队列的头部进行删除操作,
支持 FIFO(先进先出)的队列行为。
(3)栈特性:Deque 接口也支持栈的特性,包括在队列的头部进行插入(push)操作,从队列的头部进行删除
(pop)操作,支持 LIFO(后进先出)的栈行为。。
(4)实现类:Java 标准库中提供了多个实现了 Deque 接口的类,包括 ArrayDeque 和 LinkedList,它们分别提
供了不同的底层实现方式和性能特点,可以根据具体的使用场景选择合适的实现类。
另外,Deque 接口还提供了一些特定于队列和栈的方法,如 offerFirst、offerLast、peekFirst、peekLast、
pollFirst、pollLast 等,用于在队列的两端进行特定的操作。
List
接
⼝
Vector
Java中的Vector类是一种动态数组,它可以自动扩展和缩小数组的大小,实现了List接口,且所有的方法都是同步
的(线程安全的),适用于多线程环境中的操作。
Vector类的特点包括:
动
态
数
组
:
Vector
类
的
底
层
实
现
是
⼀个
数
组
,
可
以
动
态
地
调
整数
组
的
⼤
⼩
,
根
据
需
要
⾃
动
扩
展
或
缩
⼩
数
组
的
容
量
。
线
程
安
全
:
Vector
类
的
所
有
⽅
法
都
是
同
步
的
,
可
以
在
多
线
程
环
境
中
使
⽤
,
保
证
了
线
程
安
全
。
⽀
持
随
机
访
问
:
Vector
类
⽀
持
通过
索
引
值
(
index
)
来
访
问
集
合
中
的
元
素
,
具
有
常
数
时
间
复
杂
度
的
随
机
访
问
特
性
。