Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions 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
Check Mark
Knowledge Booster
Background pattern image
Computer Science
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
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education