Довідники Java Deque

Що таке Deque в Java?

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


Deque входить до складу пакета java.util і може бути реалізований через такі класи, як ArrayDeque або LinkedList. Це дає можливість вибору між продуктивністю та гнучкістю залежно від ваших потреб.


Основні особливості Deque
  1. Дозволяє додавати та видаляти елементи з обох кінців, що робить його універсальним для різних задач.
  2. Реалізує безліч методів для роботи з елементами, включаючи offerFirst, offerLast, pollFirst, pollLast, peekFirst, peekLast.
  3. Може використовуватись як стек (LIFO) або черга (FIFO).



import java.util.ArrayDeque;
import java.util.Deque;

public class DequeExample {
    public static void main(String[] args) {
        Deque<String> deque = new ArrayDeque<>();

        // Додавання елементів на початок і кінець
        deque.offerFirst("Перший");
        deque.offerLast("Останній");

        // Читання елементів без видалення
        System.out.println("Перший елемент: " + deque.peekFirst());
        System.out.println("Останній елемент: " + deque.peekLast());

        // Видалення елементів з початку і кінця
        System.out.println("Видалено з початку: " + deque.pollFirst());
        System.out.println("Видалено з кінця: " + deque.pollLast());

        // Перевірка на пустоту
        if (deque.isEmpty()) {
            System.out.println("Черга пуста.");
        }
    }
}


Deque забезпечує гнучкість завдяки універсальності своїх методів. Наприклад, використання методів offer та poll дозволяє уникнути винятків, якщо черга пуста або переповнена, а методи add та remove можуть викликати виняток у таких ситуаціях.


Для випадків, коли важлива продуктивність, рекомендується використовувати ArrayDeque, оскільки він реалізований на основі масиву і забезпечує швидші операції порівняно з LinkedList, особливо при роботі з великою кількістю елементів.

Коментарі
Додати коментар

Поки що коментарів немає