Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

You are not allowed to use any of the standard Java collection types (like ArrayList) for this assignment. Do not import any Java standard library

You are not allowed to use any of the standard Java collection types (like ArrayList) for this assignment. Do not import any Java standard library features from java.util, except java.util.NoSuchElementException. You may use simple arrays. You may also use any code from your MyArrayList or MyLinkedList submissions.

Problem Description and Given Info

For this assignment you are given the following Java source code files:

IQueue.java (This file is complete make no changes to this file)

MyQueue.java (You must complete this file)

Main.java (You may use this file to write code to test your MyQueue)

You must complete the public class named MyQueue.java with fields and methods as defined below. Your MyQueue.java will implement the IQueue interface that is provided in the IQueue.java file. You must implement your MyQueue class as either a linked list or an array list (refer to your MyArrayList and MyLinkedList work). Your MyQueue must not be arbitrarily limited to any fixed size at run-time.

UML

UML CLass Diagram: MyQueue

Structure of the Fields

While there are no required fields for your MyQueue class, you will need to decide what fields to implement. This decision will be largely based on your choice to implement this MyQueue as either an array list or a linked list.

Structure of the Methods

As described by the UML Class Diagram above, your MyQueue class must implement the following methods:

a public method named enqueue that takes an Object argument and returns nothing

a public method named dequeue that takes no arguments and returns an Object

a public method named peek that takes no arguments and returns an Object

a public method named indexOf that takes an Object argument and returns an int

a public method named size that takes no arguments and returns an int

a public method named isEmpty that takes no arguments and returns an boolean

Note that:

these methods are declared in the IQueue interface. You will be implementing these methods in this MyQueue concrete class.

Additional Information

MyQueue

This concrete class will store its elements in either an internal array list or linked list. All such implementation details must be contained in your myQueue.java file. You may add any additional fields, methods, and inner classes that you will need to achieve this.

enqueue method

Add a new item to end of the queue. For example: given the queue{1, 2, 3} (where the value 1 is at the front and the value 3 is currently at the back) and an instruction to enqueue(99), the result would be this {1, 2, 3, 99}, with the value 99 now at the end of the queue.

dequeue method

Remove and return the item currently at the front of the queue. For example: given the queue {1, 2, 3} (where the value 1 is at the front and the value 3 is currently at the back) and an instruction to dequeue(), the queue would now look like this {2, 3}, and the value 1 would be returned.

Throws a NoSuchElementException if the queue is currently empty when this method is called.

peek method

Return (but do not remove) the item currently at the front of the queue. For example: given the queue {1, 2, 3} (where the value 1 is at the front and the value 3 is currently at the back) and an instruction to peek(), the queue would still look like this {1, 2, 3}, and the value 1 would be returned.

Throws a NoSuchElementException if the queue is currently empty when this method is called.

indexOf method

Return the (zero-based) number of elements from the front or top of the collection where the specified item is first found. Returns -1 if the item is not found in the collection. For example: given the queue {1, 2, 3} (where the value 1 is at the front and the value 3 is currently at the back) and the instruction indexOf(2), the value 1 would be returned (because the value 2 was found at index 1 (1 element after the front) in the queue . For another example: given the queue {1, 2, 3} (where the value 1 is at the front and the value 3 is currently at the back) and the instruction indexOf(99), the value -1 would be returned (because the value 99 is not found in the queue ).

size method

Returns the number of elements currently stored in the queue .

isEmpty method

Returns true if there are currently no items stored in this queue, otherwise returns false

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Internals A Deep Dive Into How Distributed Data Systems Work

Authors: Alex Petrov

1st Edition

1492040347, 978-1492040347

More Books

Students also viewed these Databases questions

Question

Did you include a prominent, attention-grabbing headline?

Answered: 1 week ago

Question

Did you follow BANGPP design checklist to review the layout?

Answered: 1 week ago