Array-Based Java Queue Implementation with Example
Array-Based Java Queue Example
Corrected Java Queue Code
The following Java classes implement a simple array-based queue and a tester. Spelling, grammar, and capitalization in comments and output strings have been corrected while preserving all original code logic and content.
class Queue {
private int front; // Front is the index of the first element in the queue
private int rear; // Rear is the index of the last element in the queue
private int maxSize; // maxSize represents the maximum number of elements that can be stored in the queue
private String arr[];
Queue(int maxSize) {
this.front = 0; // Front is 0 when the queue is created
this.rear = -1; // Rear is -1 when the queue is created
this.maxSize = maxSize;
this.arr = new String[maxSize];
}
// Checks if the queue is full
public boolean isFull() {
if (rear == maxSize - 1) {
return true;
}
return false;
}
// Adds a new element to the rear of the queue
public boolean enqueue(String data) {
if (isFull()) {
return false;
} else {
arr[++rear] = data;
return true;
}
}
// Displays all the elements in the queue
public void display() {
if (isEmpty())
System.out.println("Queue is empty!");
else {
System.out.println("Displaying queue elements:");
for (int index = front; index <= rear; index++) {
System.out.println(arr[index]);
}
}
}
// Checks if the queue is empty
public boolean isEmpty() {
if (front > rear)
return true;
return false;
}
// Removes an element from the front of the queue
public String dequeue() {
if (isEmpty()) {
return "empty";
} else {
String data = arr[this.front];
arr[front++] = null;
return data;
}
}
}
class Tester {
public static void main(String[] args) {
Queue queue = new Queue(5);
System.out.println("Queue created.\n");
if (queue.enqueue("Joe"))
System.out.println("The element is enqueued to the queue!\n");
else
System.out.println("Queue is full!\n");
if (queue.enqueue("Jack"))
System.out.println("The element is enqueued to the queue!\n");
else
System.out.println("Queue is full!\n");
if (queue.enqueue("Eva"))
System.out.println("The element is enqueued to the queue!\n");
else
System.out.println("Queue is full!\n");
if (queue.enqueue("Mia"))
System.out.println("The element is enqueued to the queue!\n");
else
System.out.println("Queue is full!\n");
if (queue.enqueue("Luke"))
System.out.println("The element is enqueued to the queue!\n");
else
System.out.println("Queue is full!\n");
queue.display();
if (queue.enqueue("Emma"))
System.out.println("The element is enqueued to the queue!\n");
else
System.out.println("Queue is full!\n");
String dequeuedElement = queue.dequeue();
if (dequeuedElement == "empty")
System.out.println("Queue is empty\n");
else
System.out.println("The element dequeued is : " + dequeuedElement + "\n");
dequeuedElement = queue.dequeue();
if (dequeuedElement == "empty")
System.out.println("Queue is empty\n");
else
System.out.println("The element dequeued is : " + dequeuedElement + "\n");
dequeuedElement = queue.dequeue();
if (dequeuedElement == "empty")
System.out.println("Queue is empty\n");
else
System.out.println("The element dequeued is : " + dequeuedElement + "\n");
dequeuedElement = queue.dequeue();
if (dequeuedElement == "empty")
System.out.println("Queue is empty\n");
else
System.out.println("The element dequeued is : " + dequeuedElement + "\n");
dequeuedElement = queue.dequeue();
if (dequeuedElement == "empty")
System.out.println("Queue is empty\n");
else
System.out.println("The element dequeued is : " + dequeuedElement + "\n");
dequeuedElement = queue.dequeue();
if (dequeuedElement == "empty")
System.out.println("Queue is empty\n");
else
System.out.println("The element dequeued is : " + dequeuedElement + "\n");
}
}