Java 简明教程
Java - Queue Interface
Queue Interface
java.util package 中提供了 Queue 接口,它实现了 Collection interface。队列实现了 FIFO,即先进先出。这意味着首先输入的元素是首先删除的元素。队列通常用于在处理元素之前先保存这些元素。一旦元素被处理,它就会从队列中移除,然后选择下一个项目进行处理。
Queue Interface Methods
以下是队列接口的所有实现类实现的重要队列方法的列表 −
Sr.No. |
Method & Description |
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() 此方法检索并删除此队列的头部。 |
Example of Queue Interface
在此示例中,我们使用 LinkedList 实例来显示队列添加、窥视和大小操作。
package com.tutorialspoint;
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);
}
}