Java Queue — это структура данных, в которую мы можем вставить элемент в этот конец очереди и удалить его в начале очереди. Он следует принципу FIFO (First In First Out).
Мы идем в банкомат для снятия наличных, и там мы используем эту концепцию очереди (если есть толпа). Мы должны поддерживать строку, которая представляет собой не что иное, как очередь. Тот, кто стоит первым в очереди, получает первую услугу, а кто стоит последним в очереди, получает последнюю услугу.
Пример интерфейса очереди Java
Интерфейс очереди доступен в пакете java.util и расширяет интерфейс коллекции. Коллекция очереди используется для хранения элементов, которые должны быть обработаны, и предоставляет различные операции, такие как вставка, удаление и т. Д.
Очередь представляет собой упорядоченный список объектов с его использование ограничивается вставкой элементов в конец списка и удалением элементов из начала списка.
queue — это интерфейс, поэтому нам нужны конкретные классы для объявления; в этом случае наиболее распространенными конкретными классами являются LinkedList и PriorityQueue. Мы создаем экземпляр LinkedList и PriorityQueue и назначаем его очереди, как показано в следующем синтаксисе.
Queue q = new LinkedList (); Queue q = new PriorityQueue ();
Характеристики очереди
Очередь используется для добавления элементов в конец очереди и удаления из начала очереди. Он следует концепции FIFO (First In First Out).
- Очередь Java поддерживает все методы интерфейса Collection, включая вставку, удаление и т. д.
- LinkedList, ArrayBlockingQueue и PriorityQueue являются наиболее часто используемыми реализациями.
- Если выполняется какая-либо операция с нулевым значением. в BlockingQueues выдается исключение NullPointerException.
- BlockingQueues имеет потокобезопасную реализацию.
- Очереди доступны в пакете java.util — Unbounded Queues
- Очереди доступны в пакете java.util.concurrent — это ограниченные очереди.
- Все очереди, кроме Deques, поддерживают вставку и удаление в хвосте и голове очереди соответственно . Deque поддерживает вставку и удаление элементов на обоих концах.
Методы интерфейса очереди
Существуют различные методы интерфейса очереди в java, с помощью которых мы можем реализовать структуру данных очереди.
boolean add ()
Используется для вставки любого конкретного элемента в конец очереди. Поскольку его возвращаемый тип является логическим, он возвращает true, если элемент успешно добавлен в очередь, или возвращает false, если не добавлен в очередь. Это происходит, когда очередь превышает максимальную емкость.
//Add.javaimport java.util.LinkedList; import java.util. Queue; class Add {public static void main (String [] er) {//создание экземпляра LinkedList для обозначения методов QueueQueue q = new LinkedList ();//добавление элементов в очередь q.add ( "AI"); q.add ("Java");//также используется для добавления elementq.offer ("Машинное обучение"); q.add ("Разработка приложений"); System.out.println ("Элементы в очередях are: "+ q);}}
См. вывод.
boolean offer ()
//Add.javaimport java.util.LinkedList; import java.util.Queue ; class Add {public static void main (String [] er) {//создание экземпляра LinkedList для обозначения методов QueueQueue q = new LinkedList ();//добавление элементов в очередь q.add (" AI "); q.add (" Java ");//также используется для добавления elementq.offer (" Машинное обучение "); q.add (" Разработка приложений "); System.out.println (" Элементы в очередях : "+ q);}}
Он также добавляет указанный элемент в очередь. Он выполняет ту же работу, что и метод add (). Результат такой же, как и в предыдущей программе.
Object remove ()
Используется для извлечения или удаления заголовка (первого элемента) очереди и возвращает его значение.
//Remove.java//импорт очереди и связанного списка import java.util.LinkedList; import java.util.Queue; class Remove {public static void main (String [] er) {//создание экземпляра LinkedList для обозначения методов of QueueQueue q = new LinkedList ();//добавление элементов в очередь q.add ("AI"); q.add ("Java");//также используется для добавления elementq.offer (" Машинное обучение "); q.add (" Разработка приложений "); System.out.println (" Элементы в очередях перед использованием метода удаления: "+ q);//удаляем элемент заголовка очереди q.remove () ; System.out.println ("Элементы в очередях после использования метода удаления:" + q);//удаление элемента с помощью метода опроса q.poll (); System.out.println ("Элементы в очередях после использования метода опроса: "+ q);}}
См. вывод.
Object peek ()
Метод peek () возвращает заголовок очереди. См. Следующую программу.
//Peek.java//импорт очереди и связанного списка import java.util.LinkedList; import java.util.Queue; class Peek {public static void main (String [] er) {//создание экземпляра LinkedList для обозначения методов QueueQueue q = new LinkedList ();//добавление элементов в очередь q.add ("AI"); q.add ("Java") ;//также используется для добавления elementq.offer ("Машинное обучение"); q.add ("Разработка приложения"); System.out.println ("Элементы в очередях:" + q);//с использованием метода peekSystem. out.println ("Заголовок очереди (с использованием метода peek ()):" + q.peek ());//с использованием element () methodSystem.out. println ("Головным элементом очереди является (с использованием метода element ()):" + q.element ());}}
См. вывод.
Элемент объекта ()
Метод element () также возвращает заголовок очереди. Но разница между методом b/w element () и peek () возвращает null, если очередь пуста.
См. Следующую программу.
//Peek.java//импорт очереди и связанного списка import java.util.LinkedList; import java.util.Queue; class Peek {public static void main (String [] er) {//создание экземпляра LinkedList для обозначения методов QueueQueue q = new LinkedList ();//добавляем элементы в очередь q.add ("AI"); q.add ("Java");//также используется для добавления elementq.offer ("Machine Learning"); q.add ("Разработка приложений"); System.out.println ("Элементы в очередях:" + q);//с использованием метода peekSystem.out.println ("Элемент заголовка очереди (с использованием метода peek ()):" + q.peek ());//с использованием element () methodSystem.out.println ("Головной элемент очереди (с использованием метода element ()):" + q.element ());}}
Object poll ()
Метод poll () похож на метод remove (), но с той лишь разницей, что poll () возвращает null, если очередь пуста.
//Удалить.java//импорт очереди и связанного списка import java.util.LinkedList; import java.util.Queue; class Remove {public static void main (String [] er) {//создание экземпляра LinkedList для обозначения методов QueueQueue q = new LinkedList ();//добавление элементов в очередь q.add ("AI"); q.add ("Java");//также используется для добавления elementq.offer ("Машинное обучение"); q.add ("Разработка приложений"); System.out.println ("Элементы в очередях перед использованием метода удаления:" + q);//удаляем элемент заголовка очереди q.remove (); System.out.println ("Элементы в очередях после использования метода remove:" + q);//удаляем элемент с помощью метода опроса q.poll () ; System.out.println ("Элементы в очередях после использования метода опроса:" + q);}}
Вывод
size ()
Метод size () возвращает номер. элементов в очереди. Поскольку это подтип класса Collections, он наследует все его методы, а именно size (), isEmpty (), содержит ( ) и т. д.
Наконец, статья с примером интерфейса очереди Java окончена.