Интерфейс очереди в Java
Интерфейс Queue описывает очередь: новый
элемент обычно попадает в конец, а обработка идет с
начала. Так устроены задачи в фоне, буферы сообщений
и любые сценарии «первым пришел, первым обслужен».
Базовые операции делятся на две формы. Методы
offer и poll возвращают false
или null, если очередь полна или пуста.
Пары add и remove в тех же случаях
бросают исключение.
Простая очередь строк на реализации
ArrayDeque:
import java.util.ArrayDeque;
import java.util.Queue;
public class Main {
public static void main(String[] args) {
Queue<String> jobs = new ArrayDeque<>();
jobs.offer("mail");
jobs.offer("report");
System.out.println(jobs.poll());
System.out.println(jobs.poll());
System.out.println(jobs.poll());
}
}
Сначала напечатаются "mail" и "report",
третий вызов poll вернет null, потому
что очередь опустела. Метод peek смотрит на
голову без извлечения, element делает то же
самое, но на пустой очереди выбросит исключение.
Создайте очередь чисел, положите в нее
3, 1, 2 и выведите три
результата poll подряд.