В настоящее время я работаю над проектом стека, в котором я создаю общий класс стека.Я искал переполнение стека для этого, но не смог найти его.Мне нужна помощь в создании метода pop в моем коде.
Вот что у меня есть:
public class Stack<E>
{
public static final int DEFAULT_CAPACITY = 10;
private E [] elementData;
private int size;
@SuppressWarnings("unchecked")
public Stack()
{
this.elementData = (E[]) new Object[DEFAULT_CAPACITY];
}
@SuppressWarnings("unchecked")
public Stack(int capacity)
{
if(capacity < 0)
{
throw new IllegalArgumentException("capacity " + capacity);
}
this.elementData = (E[]) new Object[capacity];
}
public boolean isEmpty()
{
if(size == 0)
{
return true;
}
else
{
return false;
}
}
/*
The push method should add its parameter to the top of the stack.
*/
public void push(E item)
{
ensureCapacity(size+1);
elementData[size] = item;
size++;
}
private void ensureCapacity(int capacity)
{
if(elementData.length < capacity)
{
int newCapacity = elementData.length * 2 + 1;
elementData = Arrays.copyOf(elementData, newCapacity);
}
}
Мне нужна помощь прямо здесь.Мне нужно иметь метод pop удалить и вернуть элемент в верхней части стека.Если элементы отсутствуют, следует выдать исключение EmptyStackException.
public E pop()
{
if(isEmpty())
{
throw EmptyStackException
}
else
{
}
}
}