Saturday, April 22, 2017

Java - More detailed about Stack Class

Stack is a subclass of Vector that implements a standard last-in, first-out stack.
Stack only defines the default constructor, which creates an empty stack. Stack includes all the methods defined by Vector, and adds several of its own.
Stack( )
Apart from the methods inherited from its parent class Vector, Stack defines the following methods −
Sr.No.Method & Description
1boolean empty()
Tests if this stack is empty. Returns true if the stack is empty, and returns false if the stack contains elements.
2Object peek( )
Returns the element on the top of the stack, but does not remove it.
3Object pop( )
Returns the element on the top of the stack, removing it in the process.
4Object push(Object element)
Pushes the element onto the stack. Element is also returned.
5int search(Object element)
Searches for element in the stack. If found, its offset from the top of the stack is returned. Otherwise, .1 is returned.

Example

The following program illustrates several of the methods supported by this collection −
import java.util.*;
public class StackDemo {

static void showpush(Stack st, int a) {
st
.push(new Integer(a));
System.out.println("push(" + a + ")");
System.out.println("stack: " + st);
}

static void showpop(Stack 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 st = new Stack();
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");
}
}
}
This will produce the following result −

Output

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

No comments:

Post a Comment

150+java interview questions and answers

Java Platform 1 . Why is Java so popular? 2 . What is platform independence? 3 . What is bytecode? 4 . Compare JDK vs JVM vs JRE 5 ....