YouTip LogoYouTip

Java Stack Class

Java Stack Class

Java Stack Class

Java Tutorial

Java Object-Oriented

Java Advanced Tutorial

Java Vector Class

Java Dictionary Class

Java Stack Class

Stack is a subclass of Vector that implements a standard last-in-first-out (LIFO) stack.

Stack only defines a default constructor, which creates an empty stack. In addition to all the methods defined by Vector, Stack also defines some of its own methods.

Stack()

In addition to all the methods defined by Vector, it also defines some methods:

No. Method Description
1 boolean empty() Tests if this stack is empty.
2 Object peek() Looks at the object at the top of this stack without removing it from the stack.
3 Object pop() Removes the object at the top of this stack and returns that object as the value of this function.
4 Object push(Object element) Pushes an item onto the top of this stack.
5 int search(Object element) Returns the 1-based position of an object on this stack.

Example

The following program demonstrates several methods supported by this collection.

Example

import java.util.*;
public class StackDemo{
   static void showpush(Stack<Integer> st, int a){
      st.push(new Integer(a));
      System.out.println("push(" + a + ")");
      System.out.println("stack: " + st);
   }
   static void showpop(Stack<Integer> st){
      System.out.print("pop -> ");
      Integer a = (Integer)st.pop();
      System.out.println(a);
      System.out.println("stack: " + st);
   }
   public static void main(String args[]){
      Stack<Integer> st = new Stack<Integer>();
      System.out.println("stack: " + st);
      showpush(st, 42);
      showpush(st, 66);
      showpush(st, 99);
      showpop(st);
      showpop(st);
      showpop(st);
      try {
         showpop(st);
      } catch (EmptyStackException e) {
         System.out.println("empty stack");
      }
   }
}

The above example compiles and runs resulting in:

stack: 
push(42)
stack: 
push(66)
stack: [42, 66]
push(99)
stack: [42, 66, 99]
pop -> 99
stack: [42, 66]
pop -> 66
stack: 
pop -> 42
stack: 
pop -> empty stack

← Java Dictionary ClassJava Vector Class β†’