Java Queue 队列接口在 java.util 包中提供,它实现了 Collection 接口。队列实现了 FIFO,即先进先出。这意味着首先输入的元素将首先被删除。队列通常用于在处理元素之前保存元素。一旦处理完一个元素,就会将其从队列中删除,并选择下一个项目进行处理。
声明
public interface Queue<E>
extends Collection<E>
队列方法
以下是列表Queue 接口的所有实现类都实现的重要队列方法
序号. | 方法及说明 |
---|---|
1 | boolean add(E e) 如果可以立即执行此操作而不违反容量限制,则此方法将指定的元素插入此队列,成功时返回 true,如果不能,则抛出 IllegalStateException当前有可用空间。 |
2 | E element() 此方法检索但不删除此队列的头部。 |
3 | boolean Offer(E e) 如果可以立即插入指定元素而不违反容量限制,则此方法会将指定元素插入此队列。 |
4 | E peek() 此方法检索,但不执行不删除此队列的头部,如果此队列为空,则返回 null。 |
5 | E poll() 此方法检索并删除此队列的头部,如果此队列为空,则返回 null。 |
6 | E remove() 此方法检索并删除此队列的头部。 |
继承的方法
该接口继承以下接口的方法
- java.util.Collection
- java.lang.Iterable
示例
在此示例中,我们使用用于显示队列添加、查看和大小操作的 LinkedList 实例。
package com.yxjc123;
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
Queue<Integer> q = new LinkedList<>();
q.add(6);
q.add(1);
q.add(8);
q.add(4);
q.add(7);
System.out.println("The queue is: " + q);
int num1 = q.remove();
System.out.println("The element deleted from the head is: " + num1);
System.out.println("The queue after deletion is: " + q);
int head = q.peek();
System.out.println("The head of the queue is: " + head);
int size = q.size();
System.out.println("The size of the queue is: " + size);
}
}
输出
The queue is: [6, 1, 8, 4, 7]
The element deleted from the head is: 6
The queue after deletion is: [1, 8, 4, 7]
The head of the queue is: 1
The size of the queue is: 4