
- Java Programming Examples
- Example - Home
- Example - Environment
- Example - Strings
- Example - Arrays
- Example - Date & Time
- Example - Methods
- Example - Files
- Example - Directories
- Example - Exceptions
- Example - Data Structure
- Example - Collections
- Example - Networking
- Example - Threading
- Example - Applets
- Example - Simple GUI
- Example - JDBC
- Example - Regular Exp
- Example - Apache PDF Box
- Example - Apache POI PPT
- Example - Apache POI Excel
- Example - Apache POI Word
- Example - OpenCV
- Example - Apache Tika
- Example - iText
- Java Tutorial
- Java - Tutorial
- Java Useful Resources
- Java - Quick Guide
- Java - Useful Resources
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to implement stack in Java
Problem Description
How to implement stack?
Solution
Following example shows how to implement stack by creating user defined push() method for entering elements and pop() method for retrieving elements from the stack.
public class MyStack { private int maxSize; private long[] stackArray; private int top; public MyStack(int s) { maxSize = s; stackArray = new long[maxSize]; top = -1; } public void push(long j) { stackArray[++top] = j; } public long pop() { return stackArray[top--]; } public long peek() { return stackArray[top]; } public boolean isEmpty() { return (top == -1); } public boolean isFull() { return (top == maxSize - 1); } public static void main(String[] args) { MyStack theStack = new MyStack(10); theStack.push(10); theStack.push(20); theStack.push(30); theStack.push(40); theStack.push(50); while (!theStack.isEmpty()) { long value = theStack.pop(); System.out.print(value); System.out.print(" "); } System.out.println(""); } }
Result
The above code sample will produce the following result.
50 40 30 20 10
The following is an another sample to implement stack by creating user defined push() method for entering elements and pop() method for retrieving elements from the stack.
import java.util.*; public class Demo { static void showpush(Stack stack1, int a) { stack1.push(new Integer(a)); System.out.println("push(" + a + ")"); System.out.println("stack: " + stack1); } static void showpop(Stack stack1) { Integer a = (Integer) stack1.pop(); System.out.println(a); System.out.println("stack: " + stack1); } public static void main(String args[]) { Stack stack1 = new Stack(); System.out.println("stack: " + stack1); showpush(stack1, 40); showpush(stack1, 50); showpush(stack1, 60); showpop(stack1); showpop(stack1); showpop(stack1); try { showpop(stack1); } catch (EmptyStackException e) { System.out.println("it Is Empty Stack"); } } }
The above code sample will produce the following result.
stack: [] push(40) stack: [40] push(50) stack: [40, 50] push(60) stack: [40, 50, 60] 60 stack: [40, 50] 50 stack: [40] 40 stack: [] it Is Empty Stack
java_data_structure.htm
Advertisements