Question: JavaImplement the stack ADT using an array to store the data. Implement the push(), pop(), peek(), isEmpty(), and length() methods as specified in the given
JavaImplement the stack ADT using an array to store the data. Implement the push(), pop(), peek(), isEmpty(), and length() methods as specified in the given interface below
Design and implement the test class according to the specifications provided.
At minimum, the implementation must implement the provided interface and also override the toString method.
| public class ArStack | |
| private final int DEFAULT_CAPACITY = 10; | |
| private T[] stack; | |
| private int count = 0; | |
| public ArrayStack() { | |
| stack = (T[]) new Object[DEFAULT_CAPACITY]; | |
| } | |
| public ArrayStack(int size) { | |
| stack = (T[]) new Object[size]; | |
| } | |
| @Override | |
| public void push(T item) throws IllegalStateException { | |
| if (count > stack.length-1) { | |
| // array is full | |
| throw new IllegalStateException(); | |
| } else { | |
| // do some stuff | |
| stack[] = item; | |
| count++; | |
| } | |
| } | |
| @Override | |
| public T pop() { | |
| // make sure you're referring to the correct index of the stack array | |
| // make sure you update the count accordingly | |
| // return the data | |
| return null; | |
| } | |
| @Override | |
| public T peek() { | |
| return null; | |
| } | |
| @Override | |
| public boolean isEmpty() { | |
| return false; | |
| } | |
| @Override | |
| public int length() { | |
| return count; | |
| } | |
| @Override | |
| public String toString() { | |
| return ""; | |
| } | |
| } |
| public interface Stack | |
| /** | |
| * Adds a new entry to the top of this stack. | |
| * | |
| * @param item An object to be added to the stack. | |
| * @throws IllegalStateException- if the element cannot be added at this time due to capacity restrictions | |
| */ | |
| public void push(T item) throws IllegalStateException; | |
| /** | |
| * Removes and returns this stack's top entry. | |
| * | |
| * @return The object at the top of the stack. | |
| * @return null if the stack is empty | |
| */ | |
| public T pop(); | |
| /** | |
| * Retrieves this stack's top entry. | |
| * | |
| * @return The object at the top of the stack. | |
| * @return null if the stack is empty | |
| */ | |
| public T peek(); | |
| /** | |
| * Detects whether this stack is empty. | |
| * | |
| * @return True if the stack is empty. | |
| */ | |
| public boolean isEmpty(); | |
| /** | |
| * Retrieves the number of entries in this stack. | |
| * | |
| * @return number of entries. | |
| */ | |
| public int length(); | |
| } |
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
