Java Deque

У цьому підручнику ми дізнаємося про інтерфейс Deque, як ним користуватися та його методи.

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

Робота Деке

У звичайній черзі елементи додаються ззаду і видаляються спереду. Однак, в деке, ми можемо вставляти і витягувати елементи як спереду, так і ззаду .

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

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

  • ArrayDeque
  • LinkedList

Як користуватися Deque?

У Java ми повинні імпортувати java.util.Dequeпакет для використання Deque.

 // Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList(); 

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

Методи Деке

Оскільки Dequeрозширює Queueінтерфейс, він успадковує всі методи інтерфейсу Черги.

Окрім методів, доступних в Queueінтерфейсі, Dequeінтерфейс також включає такі методи:

  • addFirst () - Додає вказаний елемент на початку deque. Видає виняток, якщо деке заповнене.
  • addLast () - Додає вказаний елемент в кінці дека. Видає виняток, якщо деке заповнене.
  • offerFirst () - Додає вказаний елемент на початку деку. Повертає, falseякщо картка заповнена.
  • offerLast () - Додає зазначений елемент в кінці символу. Повертає, falseякщо картка заповнена.
  • getFirst () - Повертає перший елемент deque. Видає виняток, якщо параметр порожній.
  • getLast () - Повертає останній елемент deque. Видає виняток, якщо параметр порожній.
  • peekFirst () - Повертає перший елемент деку. Повертає, nullякщо деке порожнє.
  • peekLast () - Повертає останній елемент deque. Повертає, nullякщо деке порожнє.
  • removeFirst () - Повертає та видаляє перший елемент deque. Видає виняток, якщо параметр порожній.
  • removeLast () - Повертає та видаляє останній елемент deque. Видає виняток, якщо параметр порожній.
  • pollFirst () - повертає та видаляє перший елемент деку. Повертає, nullякщо деке порожнє.
  • pollLast () - повертає та видаляє останній елемент деке. Повертає, nullякщо деке порожнє.

Створення структури даних стека

StackКлас Java Collectionsоснови забезпечує реалізацію стека.

Однак рекомендується використовувати Dequeяк стек замість класу Stack. Це тому, що методи Stackсинхронізовані.

Ось методи, які Dequeнадає інтерфейс для реалізації стека:

  • push() - додає елемент на початку deque
  • pop() - видаляє елемент з початку deque
  • peek() - повертає елемент з початку deque

Впровадження Deque у класі ArrayDeque

 import java.util.Deque; import java.util.ArrayDeque; class Main ( public static void main(String() args) ( // Creating Deque using the ArrayDeque class Deque numbers = new ArrayDeque(); // add elements to the Deque numbers.offer(1); numbers.offerLast(2); numbers.offerFirst(3); System.out.println("Deque: " + numbers); // Access elements of the Deque int firstElement = numbers.peekFirst(); System.out.println("First Element: " + firstElement); int lastElement = numbers.peekLast(); System.out.println("Last Element: " + lastElement); // Remove elements from the Deque int removedNumber1 = numbers.pollFirst(); System.out.println("Removed First Element: " + removedNumber1); int removedNumber2 = numbers.pollLast(); System.out.println("Removed Last Element: " + removedNumber2); System.out.println("Updated Deque: " + numbers); ) ) 

Вихідні дані

 Deque: (3, 1, 2) Перший елемент: 3 Останній елемент: 2 Видалено Перший елемент: 3 Видалено Останній елемент: 2 Оновлено Deque: (1) 

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

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