Интерфейс очереди Java
Интерфейс очереди Java
В этом руководстве мы узнаем об интерфейсе Java Queue и его методах.
Queue интерфейс фреймворка коллекций Java обеспечивает функциональность структуры данных очереди. Он расширяет Collection интерфейс.
Классы, реализующие очередь
Поскольку Queue является интерфейсом, мы не можем предоставить его прямую реализацию.
Чтобы использовать функциональные возможности Queue , нам нужно использовать классы, которые его реализуют:
- ArrayDeque
- Связанный список
- Приоритетная очередь

Интерфейсы, расширяющие Queue
Queue Интерфейс также расширен различными субинтерфейсами:
DequeBlockingQueueBlockingDeque

Работа со структурой данных очереди
В очередях элементы хранятся и доступны по принципу First In, First Out. способ. То есть элементы добавляются сзади и удалены с переднего плана .

Как использовать очередь?
В Java мы должны импортировать java.util.Queue package для использования 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 и животное3 классов LinkedList , ArrayDeque и PriorityQueue соответственно. Эти объекты могут использовать функциональные возможности Queue интерфейс.
Методы очереди
Queue интерфейс включает все методы Collection интерфейс. Это потому, что Collection это суперинтерфейс Queue .
Некоторые из часто используемых методов Queue интерфейс:
- добавить() - Вставляет указанный элемент в очередь. Если задача выполнена успешно,
add()возвращаетtrue, в противном случае выдается исключение. - предложение() - Вставляет указанный элемент в очередь. Если задача выполнена успешно,
offer()возвращаетtrue, если нет, возвращаетfalse. - элемент() - Возвращает голову очереди. Выдает исключение, если очередь пуста.
- заглянуть() - Возвращает голову очереди. Возвращает
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