Stack Implementation in Java

Unlike the implementation of a double queue, a stack is a collection of items kept in order such that the item last inserted into the stack is the first one removed.

MyStack.java

This stack is an implementation uses char‘s. A stack such as this one would be useful in looking for patterns in strings, like checking if a string is a palindrome.

public class MyStack {

	private char[] _stack = new char[25]; // The stack.
	private int _currentIndex = 0; // The current index.

	/**
	 * Push the character to the stack.
	 *
	 * @param c
	 */
	public void push(char c)
	{
		// Add to stack.
		_stack[_currentIndex++] = c;
	}

	/**
	 * Pop the last character from the stack.
	 *
	 * @return
	 */
	public char pop()
	{
		// Remove from stack.
		_currentIndex--; // Decrement before the access since it should be minus 1 the current index anyway.
		return _stack[_currentIndex];
	}

	/**
	 * Check if the stack is empty.
	 *
	 * @return
	 */
	public boolean empty()
	{
		return _currentIndex == 0;
	}

	/**
	 * Return the size of the stack.
	 *
	 * @return
	 */
	public int size()
	{
		return _currentIndex + 1;
	}

}

Leave a Reply

Your email address will not be published. Required fields are marked *