package Queue_Java; import java.util.*; class ListQueue2{ private LinkedList ll; private int front, rear; private int size; public ListQueue2(){ ll = new LinkedList(); front = -1; rear = -1; size = 0; } public boolean isEmpty(){ return size == 0; } public void offer(Object obj){ ll.add(obj); size++; rear++; if(front == -1) front++; } public Object peek(){ if(isEmpty()) return null; else return ll.get(0); } public Object element(){ if(isEmpty()) throw new NoSuchElementException(); else return ll.get(0); } public Object poll(){ if(isEmpty()) return null; else{ size--; rear--; if(size==0) front--; return ll.remove(0); } } public Object remove(){ if(isEmpty()) throw new NoSuchElementException(); else{ size--; rear--; if(size==0) front--; return ll.remove(0); } } }