Інтерфейс черги Java

У цьому посібнику ми дізнаємося про інтерфейс Java Queue та його методи.

QueueІнтерфейс рамок колекцій Java забезпечує функціональні структури даних черзі. Це розширює Collectionінтерфейс.

Класи, що реалізують чергу

Оскільки Queueце інтерфейс, ми не можемо забезпечити його безпосередню реалізацію.

Для того, щоб використовувати функціональні можливості Queue, нам потрібно використовувати класи, які його реалізують:

  • ArrayDeque
  • LinkedList
  • PriorityQueue

Інтерфейси, що розширюють чергу

QueueІнтерфейс також розширено різними субінтерфейсов:

  • Deque
  • BlockingQueue
  • BlockingDeque

Робота структури даних черги

В чергах елементи зберігаються та отримують доступ до них способом « Перший вхід, перший вихід» Тобто елементи додаються ззаду і знімаються спереду .

Як користуватися чергою?

У Java ми повинні імпортувати java.util.Queueпакет, щоб використовувати Queue.

 // LinkedList implementation of Queue Queue animal1 = new LinkedList(); // Array implementation of Queue Queue animal2 = new ArrayDeque(); // Priority Queue implementation of Queue Queue animal 3 = new PriorityQueue(); 

Тут ми створили об'єкти animal1, animal2 і animal3 класів LinkedList, ArrayDequeі PriorityQueueвідповідно. Ці об'єкти можуть використовувати функціональні можливості Queueінтерфейсу.

Методи черги

QueueІнтерфейс включає в себе всі методи Collectionінтерфейсу. Це тому, що Collectionє супер інтерфейсом Queue.

Деякі з найбільш часто використовуваних методів Queueінтерфейсу:

  • add () - Вставляє вказаний елемент у чергу. Якщо завдання успішне, add()повертається true, якщо ні, то видає виняток.
  • offer () - Вставляє вказаний елемент у чергу. Якщо завдання успішне, offer()повертається true, якщо ні - повертається false.
  • element () - Повертає заголовок черги. Видає виняток, якщо черга порожня.
  • peek () - Повертає головку черги. Повертає, nullякщо черга порожня.
  • remove () - Повертає та видаляє заголовок черги. Видає виняток, якщо черга порожня.
  • poll () - повертає та видаляє заголовок черги. Повертає, 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 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); ) ) 

Вихідні дані

 Черга: (1, 2, 3) Доступний елемент: 1 Вилучений елемент: 1 Оновлена ​​черга: (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 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); ) ) 

Вихідні дані

 Черга: (1, 5, 2) Доступний елемент: 1 Вилучений елемент: 1 Оновлена ​​черга: (2, 5) 

Щоб дізнатись більше, відвідайте Java PriorityQueue.

У наступних підручниках ми Queueдетально дізнаємося про різні субінтерфейси інтерфейсу та його реалізацію.

Цікаві статті...