Queue 中常用方法分辨

130 阅读1分钟

文章目录

  1. 队尾增加一个元素
  2. 队头取出一个元素
  3. 队头增加一个元素

1.队尾增加一个元素

boolean add(E e);
boolean offer(E e);

这两个方法的语义是一样的,都是在队尾增加一个元素

2.队头取出一个元素

E remove();
E poll();
E pop();

remove 和 poll 语义基本一样,都是从队头取出一个元素,不同点在于:当队列已经空了,remove 会抛出异常,而 poll 会返回 null

而 pop 跟 remove 是完全一样的,pop 用于 Deque 和 Stack 中

E element();
E peek();

这两个方法也是从队头取出一个元素,跟上面三个的不同之处在于:上面三个取完元素会移动头指针,而这两个方法取出元素但不会移动指针,也就是说这两个方法连续调用 n 次,会取出第一个元素 n 次,不会有下一个元素。

同样的,当队列为空时,element 会抛出异常,而 peek 会返回 null

3.队头增加一个元素

void push(E e);

这个方法用于在队头增加一个元素,主要用于 Deque 和 Stack 中

这次分享就到这里,有不对或者讲得不清楚的地方欢迎大家提出。