generic queue using linked list collection class

PHOTO EMBED

Fri Jun 07 2024 13:16:51 GMT+0000 (Coordinated Universal Time)

Saved by @dbms

import java.util.LinkedList;

public class GenericQueue<T> {
    private LinkedList<T> queueList;

    public GenericQueue() {
        this.queueList = new LinkedList<>();
    }

    public void enqueue(T item) {
        queueList.addLast(item);
    }

    public T dequeue() {
        if (!queueList.isEmpty()) {
            return queueList.removeFirst();
        } else {
            System.out.println("Queue Underflow");
            return null;
        }
    }

    public boolean isEmpty() {
        return queueList.isEmpty();
    }

    public T peek() {
        if (!queueList.isEmpty()) {
            return queueList.getFirst();
        } else {
            return null;
        }
    }

    public static void main(String[] args) {
        GenericQueue<Integer> intQueue = new GenericQueue<>();
        intQueue.enqueue(1);
        intQueue.enqueue(2);
        intQueue.enqueue(3);
        intQueue.enqueue(4);
        intQueue.enqueue(5);

        System.out.println("Front element: " + intQueue.peek()); // 1

        while (!intQueue.isEmpty()) {
            System.out.println("Dequeued element: " + intQueue.dequeue());
        }

        System.out.println("Queue is empty: " + intQueue.isEmpty()); // true

        GenericQueue<String> stringQueue = new GenericQueue<>();
        stringQueue.enqueue("one");
        stringQueue.enqueue("two");
        stringQueue.enqueue("three");

        System.out.println("Front element: " + stringQueue.peek()); // one

        while (!stringQueue.isEmpty()) {
            System.out.println("Dequeued element: " + stringQueue.dequeue());
        }

        System.out.println("Queue is empty: " + stringQueue.isEmpty()); // true
    }
}
content_copyCOPY