Draw a UML class diagram for the following code: public class ArrayQueue {     private Object[] array;     private int front;     private int rear;     private int size;          public ArrayQueue(int capacity) {         array = new Object[capacity];         front = 0;        rear = -1;        size = 0;    }        public boolean isEmpty() {        return size == 0;    }        public void enqueue(T item) {        if (size == array.length) {            throw new IllegalStateException("Queue is full");        }                rear = (rear + 1) % array.length;        array[rear] = item;        size++;    }        public T dequeue() {        if (isEmpty()) {            throw new IllegalStateException("Queue is empty");        }                T item = (T) array[front];        array[front] = null;        front = (front + 1) % array.length;        size--;        return item;    }        public void dequeueAll() {        while (!isEmpty()) {            dequeue();        }    }        public T peek() {        if (isEmpty()) {            throw new IllegalStateException("Queue is empty");        }                return (T) array[front];    }        public static void main(String[] args) {        ArrayQueue queue = new ArrayQueue<>(5);                System.out.println("Is Queue Empty? " + queue.isEmpty());                queue.enqueue(10);        queue.enqueue(20);        queue.enqueue(30);                System.out.println("Front item: " + queue.peek());                System.out.println("Dequeuing: " + queue.dequeue());        System.out.println("Dequeuing: " + queue.dequeue());                System.out.println("Is Queue Empty? " + queue.isEmpty());                queue.enqueue(40);        queue.enqueue(50);                System.out.println("Dequeuing all:");        queue.dequeueAll();                System.out.println("Is Queue Empty? " + queue.isEmpty());    } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Draw a UML class diagram for the following code:

public class ArrayQueue<T> {

    private Object[] array;

    private int front;

    private int rear;

    private int size;

    

    public ArrayQueue(int capacity) {

        array = new Object[capacity];

        front = 0;

       rear = -1;

       size = 0;

   }

   

   public boolean isEmpty() {

       return size == 0;

   }

   

   public void enqueue(T item) {

       if (size == array.length) {

           throw new IllegalStateException("Queue is full");

       }

       

       rear = (rear + 1) % array.length;

       array[rear] = item;

       size++;

   }

   

   public T dequeue() {

       if (isEmpty()) {

           throw new IllegalStateException("Queue is empty");

       }

       

       T item = (T) array[front];

       array[front] = null;

       front = (front + 1) % array.length;

       size--;

       return item;

   }

   

   public void dequeueAll() {

       while (!isEmpty()) {

           dequeue();

       }

   }

   

   public T peek() {

       if (isEmpty()) {

           throw new IllegalStateException("Queue is empty");

       }

       

       return (T) array[front];

   }

   

   public static void main(String[] args) {

       ArrayQueue<Integer> queue = new ArrayQueue<>(5);

       

       System.out.println("Is Queue Empty? " + queue.isEmpty());

       

       queue.enqueue(10);

       queue.enqueue(20);

       queue.enqueue(30);

       

       System.out.println("Front item: " + queue.peek());

       

       System.out.println("Dequeuing: " + queue.dequeue());

       System.out.println("Dequeuing: " + queue.dequeue());

       

       System.out.println("Is Queue Empty? " + queue.isEmpty());

       

       queue.enqueue(40);

       queue.enqueue(50);

       

       System.out.println("Dequeuing all:");

       queue.dequeueAll();

       

       System.out.println("Is Queue Empty? " + queue.isEmpty());

   }

}

Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Adjacency Matrix
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education