Вот реализация очереди Java с использованием связанного списка:
import java.util.LinkedList;
public class QueueLinkedList<T> {
private LinkedList<T> queue;
public QueueLinkedList() {
queue = new LinkedList<>();
}
public void enqueue(T element) {
queue.addLast(element);
}
public T dequeue() {
if (isEmpty()) {
throw new IllegalStateException("Queue is empty");
}
return queue.removeFirst();
}
public T peek() {
if (isEmpty()) {
throw new IllegalStateException("Queue is empty");
}
return queue.getFirst();
}
public int size() {
return queue.size();
}
public boolean isEmpty() {
return queue.isEmpty();
}
public void clear() {
queue.clear();
}
}
В этой реализации LinkedListиспользуется для хранения элементов очереди. Метод enqueueдобавляет элемент в конец списка, а метод dequeueудаляет и возвращает первый элемент. Метод peekвозвращает первый элемент, не удаляя его. Метод sizeвозвращает количество элементов в очереди, а метод isEmptyпроверяет, пуста ли очередь. Метод clearудаляет все элементы из очереди.