Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Освоение интерфейса Queue в Java: методы, реализации и практическое применение

Освоение интерфейса Queue в Java

Узнайте, как интерфейс Queue в Java обеспечивает структуры данных FIFO, его основные методы и наиболее распространённые классы реализации.


Классы, реализующие Queue

Поскольку Queue — это интерфейс, вы будете работать с конкретными классами, предоставляющими фактическую функциональность. Три наиболее широко используемые реализации:


Подинтерфейсы, расширяющие Queue

Интерфейс Queue расширяется несколькими подинтерфейсами, добавляющими блокирующие или двусторонние возможности:


Структура данных Queue в действии

Очереди работают по принципу First-In, First-Out (FIFO): элементы добавляются в конец и удаляются из начала.


Как использовать Queue в Java

Импортируйте интерфейс с java.util.Queue и создайте экземпляр через конкретный класс:

import java.util.Queue;
import java.util.LinkedList;
import java.util.ArrayDeque;
import java.util.PriorityQueue;
Queue<String> animal1 = new LinkedList<>();
Queue<String> animal2 = new ArrayDeque<>();
Queue<String> animal3 = new PriorityQueue<>();

Каждый объект наследует полный набор методов Queue и обобщённый API Collection.


Основные методы Queue

Интерфейс расширяет Collection, поэтому включает все его методы. Наиболее часто используемые операции, специфичные для очереди:


Пример реализации LinkedList

import java.util.Queue;
import java.util.LinkedList;
public class Main {
    public static void main(String[] args) {
        Queue<Integer> numbers = new LinkedList<>();
        numbers.offer(1);
        numbers.offer(2);
        numbers.offer(3);
        System.out.println("Queue: " + numbers);
        int accessed = numbers.peek();
        System.out.println("Accessed Element: " + accessed);
        int removed = numbers.poll();
        System.out.println("Removed Element: " + removed);
        System.out.println("Updated Queue: " + numbers);
    }
}

Вывод

Queue: [1, 2, 3] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 3]

Для более глубокого понимания см. Java LinkedList.


Пример реализации PriorityQueue

import java.util.Queue;
import java.util.PriorityQueue;
public class Main {
    public static void main(String[] args) {
        Queue<Integer> numbers = new PriorityQueue<>();
        numbers.offer(5);
        numbers.offer(1);
        numbers.offer(2);
        System.out.println("Queue: " + numbers);
        int accessed = numbers.peek();
        System.out.println("Accessed Element: " + accessed);
        int removed = numbers.poll();
        System.out.println("Removed Element: " + removed);
        System.out.println("Updated Queue: " + numbers);
    }
}

Вывод

Queue: [1, 5, 2] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 5]

Для более глубокого понимания см. Java PriorityQueue.


Ожидайте наши будущие руководства, которые изучат подинтерфейсы Queue — Deque, BlockingQueue и BlockingDeque — и то, как использовать их в реальных сценариях.

java

  1. Освоение интерфейсов в C#: определение, реализация и практические примеры
  2. Освоение операторов Java: типы, синтаксис и практические примеры
  3. Ключевое слово super в Java: продвинутое использование и практические примеры
  4. Интерфейсы в Java: концепции, реализация и лучшие практики
  5. Try-with-resources в Java: автоматическое управление ресурсами
  6. Аннотации в Java: типы, размещение и практические примеры
  7. Освоение интерфейса NavigableSet в Java: навигация, сортировка и практические примеры
  8. Освоение Java Lambda-выражений: от основ к Stream API
  9. Интерфейсы в Java: определение, использование и лучшие практики
  10. Java 9 Private Interface Methods: инкапсуляция и повторное использование кода