Java 队列接口
Java 队列接口
在本教程中,我们将学习 Java Queue 接口及其方法。
Queue
Java 集合框架的接口提供了队列数据结构的功能。它扩展了 Collection
界面。
实现队列的类
自Queue
是一个接口,我们不能提供它的直接实现。
为了使用 Queue
的功能 ,我们需要使用实现它的类:
- ArrayDeque
- 链表
- 优先队列
扩展队列的接口
Queue
接口也被各种子接口扩展:
Deque
BlockingQueue
BlockingDeque
队列数据结构的工作
在队列中,元素以先进先出的方式存储和访问 方式。也就是说,元素是从后面添加的 并且从前面移除 .
队列如何使用?
在 Java 中,我们必须导入 java.util.Queue
包以便使用 Queue
.
// LinkedList implementation of Queue
Queue<String> animal1 = new LinkedList<>();
// Array implementation of Queue
Queue<String> animal2 = new ArrayDeque<>();
// Priority Queue implementation of Queue
Queue<String> animal 3 = new PriorityQueue<>();
在这里,我们创建了对象 animal1 , 动物2 和 animal3 类 LinkedList
, ArrayDeque
和 PriorityQueue
分别。这些对象可以使用 Queue
的功能 界面。
队列方法
Queue
接口包含Collection
的所有方法 界面。这是因为 Collection
是Queue
的超级接口 .
Queue
的一些常用方法 界面分别是:
- add() - 将指定元素插入队列。如果任务成功,
add()
返回true
,如果不是,则会引发异常。 - offer() - 将指定元素插入队列。如果任务成功,
offer()
返回true
,如果不是,则返回false
. - 元素() - 返回队列的头部。如果队列为空,则引发异常。
- peek() - 返回队列的头部。返回
null
如果队列为空。 - 移除() - 返回并移除队列的头部。如果队列为空,则引发异常。
- 投票() - 返回并移除队列的头部。返回
null
如果队列为空。
队列接口的实现
1。实现 LinkedList 类
import java.util.Queue;
import java.util.LinkedList;
class Main {
public static void main(String[] args) {
// Creating Queue using the LinkedList class
Queue<Integer> numbers = new LinkedList<>();
// offer elements to the Queue
numbers.offer(1);
numbers.offer(2);
numbers.offer(3);
System.out.println("Queue: " + numbers);
// Access elements of the Queue
int accessedNumber = numbers.peek();
System.out.println("Accessed Element: " + accessedNumber);
// Remove elements from the Queue
int removedNumber = numbers.poll();
System.out.println("Removed Element: " + removedNumber);
System.out.println("Updated Queue: " + numbers);
}
}
输出
Queue: [1, 2, 3] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 3]
要了解更多信息,请访问 Java LinkedList。
2。实现 PriorityQueue 类
import java.util.Queue;
import java.util.PriorityQueue;
class Main {
public static void main(String[] args) {
// Creating Queue using the PriorityQueue class
Queue<Integer> numbers = new PriorityQueue<>();
// offer elements to the Queue
numbers.offer(5);
numbers.offer(1);
numbers.offer(2);
System.out.println("Queue: " + numbers);
// Access elements of the Queue
int accessedNumber = numbers.peek();
System.out.println("Accessed Element: " + accessedNumber);
// Remove elements from the Queue
int removedNumber = numbers.poll();
System.out.println("Removed Element: " + removedNumber);
System.out.println("Updated Queue: " + numbers);
}
}
输出
Queue: [1, 5, 2] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 5]
要了解更多信息,请访问 Java PriorityQueue。
在接下来的教程中,我们将了解 Queue
的不同子接口 接口及其实现详解。
java