Вот реализация очереди 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
удаляет все элементы из очереди.