Enqueue, Dequeue and ViewQueue in Java
java, queue
Solution
Java queues don't have enqueue and dequeue methods, these operations are done using the following methods:
Enqueuing:
- `add(e)`: throws exception if it fails to insert the object
- `offer(e)`: returns false if it fails to insert the object
Dequeuing:
- `remove()`: throws exception if the queue is empty
- `poll()`: returns null if the queue is empty
Take a look to the first object in the queue:
- `element()`: throws exception if the queue is empty
- `peek()`: returns null if the queue is empty
The add method, which Queue inherits from Collection, inserts an element unless it would violate the queue's capacity restrictions, in which case it throws `IllegalStateException`. The offer method, which is intended solely for use on bounded queues, differs from add only in that it indicates failure to insert an element by returning false.
(see: http://docs.oracle.com/javase/tutorial/collections/interfaces/queue.html)
You can also check this as this is more useful:
http://docs.oracle.com/cd/B10500_01/appdev.920/a96587/apexampl.htm
Problem
I am doing a queue in java. Here is my code: ``` public class ListQueue { public static void main(String[] args){ Queue myQueue; Scanner sc = new Scanner(System.in); String input; int choice = 99; do{ System.out.println("================"); System.out.println("Queue Operations Menu"); System.out.println("================"); System.out.println("1,Enquene"); System.out.println("2,Dequeue"); System.out.println("3,Empty?"); System.out.println("4,Count?"); System.out.println("5,View Queue"); System.out.println("0, Quit\n"); System.out.println("Enter Choice:"); try{ choice = sc.nextInt(); switch(choice){ case 1: System.out.println("Please enter name: "); input = sc.next(); myQueue.enqueue(input); System.out.println(input + "is successful queued"); break; case 2: if(myQueue.isEmpty()){ } break; case 3: if(myQueue.isEmpty()){ System.out.println("Queue is empty"); }else{ System.out.println("Queue is not empty"); } break; case 4: System.out.println("Number of people is " + "the queue" + myQueue.size()); break; case 5: if(!myQueue.isEmpty()) myQueue.viewQueue(); else System.out.println("Queue is empty"); break; case 0: System.out.println("Good-bye"); break; default: System.out.println("Invalid choice"); } } catch(InputMismatchException e){ System.out.println("Please enter 1-5, 0 to quit"); sc.nextLine(); } }while(choice != 0); } ``` } However, I have error at the enqueue() and viewQueue() which I wonder why. Am I declare the queue in a wrong way? Thanks in advance. I am new to queue so please bear with me.