public class Queue { private Node first; private Node last; public Queue(){ this.first = null; this.last = null; } public boolean isEmpty(){ return this.first == null; } public void enqueue(T val){ Node added = new Node(val); Node current = this.first; if (this.first == null){ this.first = added; this.last = added; } else{ this.last.next = added; this.last = added; } } public T dequeue (){ if (this.first == null) return null; T ret = this.first.wert; this.first = this.first.next; return ret; } public T front (){ if (this.first == null) return null; return this.first.wert; } }