Question
Everything works except for list (Shows all the elements). Please help me implement list in CircularArrayQueue.java. CircularArrayQueue.java package jsjf; import jsjf.exceptions.*; /** * CircularArrayQueue represents
Everything works except for list (Shows all the elements). Please help me implement list in CircularArrayQueue.java.
CircularArrayQueue.java
package jsjf;
import jsjf.exceptions.*;
/** * CircularArrayQueue represents an array implementation of a queue in * which the indexes for the front and rear of the queue circle back to 0 * when they reach the end of the array. * * @author Java Foundations * @version 4.0 */ public class CircularArrayQueue
/** * Creates an empty queue using the specified capacity. * @param initialCapacity the initial size of the circular array queue */ public CircularArrayQueue(int initialCapacity) { front = rear = count = 0; queue = (T[]) (new Object[initialCapacity]); }
/** * Creates an empty queue using the default capacity. */ public CircularArrayQueue() { this(DEFAULT_CAPACITY); }
/** * Adds the specified element to the rear of this queue, expanding * the capacity of the queue array if necessary. * @param element the element to add to the rear of the queue */ public void enqueue(T element) { if (size() == queue.length) expandCapacity();
queue[rear] = element; rear = (rear + 1) % queue.length;
count++; }
/** * Creates a new array to store the contents of this queue with * twice the capacity of the old one. */ private void expandCapacity() { T[] larger = (T[]) (new Object[queue.length * 2]);
for (int scan = 0; scan < count; scan++) { larger[scan] = queue[front]; front = (front + 1) % queue.length; }
front = 0; rear = count; queue = larger; }
/** * Removes the element at the front of this queue and returns a * reference to it. * @return the element removed from the front of the queue * @throws EmptyCollectionException if the queue is empty */ public T dequeue() throws EmptyCollectionException { if (isEmpty()) { System.out.println("Queue is empty. Please enqueue at least 1 element first."); } else { T result = queue[front];
queue[front] = null;
front = (front+1) % queue.length;
count--;
return result; } return null; }
/** * Returns a reference to the element at the front of this queue. * The element is not removed from the queue. * @return the first element in the queue * @throws EmptyCollectionException if the queue is empty */ public T first() throws EmptyCollectionException { if (isEmpty()) { System.out.println("Queue is empty. Please enqueue at least 1 element first."); } else { return queue[front]; } return null; }
/** * Returns true if this queue is empty and false otherwise. * @return true if this queue is empty */ public boolean isEmpty() { if(count <= 0) { return true; } else { return false; } }
/** * Returns the number of elements currently in this queue. * @return the size of the queue */ public int size() { return count; }
/** * Returns a string representation of this queue. * @return the string representation of the queue */ public String toString() { String result = "";
for(int i = front; i < rear; i++) { result = result + queue[i].toString() + " "; } return result; }
public void list() { //Need help here } }
QueueADT.java
package jsjf;
/** * QueueADT defines the interface to a queue collection. * * @author Java Foundation * @version 4.0 */ public interface QueueADT
/** * Removes and returns the element at the front of this queue. * @return the element at the front of the queue */ public T dequeue();
/** * Returns without removing the element at the front of this queue. * @return the first element in the queue */ public T first();
/** * Returns true if this queue contains no elements. * @return true if this queue is empty */ public boolean isEmpty();
/** * Returns the number of elements in this queue. * @return the integer representation of the size of the queue */ public int size();
/** * Returns a string representation of this queue. * @return the string representation of the queue */ public String toString(); public void list(); }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started