Project Description:
Consider a new kind of queue that allows only a single copy of an object in the queue. If an object is added to the queue, but it is already there, leave the queue unchanged. This queue has another operation moveToBack that takes an object in the queue and moves it to the back. If an object is not in the queue, the operation adds it at the back of the queue. The size of queue should increase if it is full. Create an interface NoDuplicatesQueueInterface that extends QueueInterface and save as NoDuplicatesQueueInterfaceYourLastName.java. Then write an array-based implementation of NoDuplicatesQueue and save as NoDuplicatesQueueYourLastName.java. Finally, write a program that adequately demonstrates your new class and save as DriverYourLastName.java.