Java - 队列接口


java.util包中提供了Queue接口,它实现了Collection接口。队列实现了 FIFO,即先进先出。这意味着首先输入的元素将首先被删除。队列通常用于在处理元素之前保存元素。一旦处理了一个元素,就会将其从队列中删除,并选择下一个项目进行处理。

宣言

public interface Queue<E>
   extends Collection<E>

队列方法

以下是 Queue 接口的所有实现类实现的重要队列方法的列表 -

先生。 方法及说明
1 布尔加法(E e)

如果可以在不违反容量限制的情况下立即执行此操作,则此方法会将指定元素插入此队列,成功时返回 true,如果当前没有可用空间,则抛出 IllegalStateException。

2 E 元素()

此方法检索但不删除该队列的头部。

3 布尔报价(E e)

如果可以立即执行此操作而不违反容量限制,则此方法会将指定元素插入此队列。

4 E 窥视()

此方法检索但不删除此队列的头,或者如果此队列为空,则返回 null。

5 电子民意调查()

此方法检索并删除此队列的头部,如果此队列为空,则返回 null。

6 E 删除()

此方法检索并删除该队列的头部。

继承的方法

该接口继承了以下接口的方法 -

  • java.util.Collection
  • java.lang.Iterable

例子

在此示例中,我们使用 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);
   }
}

输出

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