Two programs are given on stack.
- The present one is general, storing any data type. The methods push, peek, pop, size etc. are used.
- The other one is generics stack storing similar or specific type of elements. Enhanced for loop (foreach) is used to iterate the elements.
Java Stack Program
import java.util.*;
public class GeneralStack
{
public static void main(String args[])
{
Stack st = new Stack();
System.out.println("Calling empty() before elements are added: " + st.empty());
st.push(10);
st.push(20);
st.add(30);
st.push("SNRao");
st.add(20.5);
st.add(new Date());
st.push(true);
st.push('A');
st.push(50);
System.out.println("Calling empty() after elements are added: " + st.empty());
System.out.println("Elements in the stack: " + st);
System.out.println("Index number of 50 counted from top: " + st.search(50));
System.out.println("Index number of SNRao from top: " + st.search("SNRao"));
System.out.println("Element at the top: " + st.peek());
System.out.println("No. of elements before pop called: " + st.size());
System.out.println("Popped element: " + st.pop());
System.out.println("No. of elements after pop is called: " + st.size());
System.out.print("Technique of printing elements with empty():\n\t");
while( ! st.empty() )
{
System.out.print(st.pop( ) + " ") ;
}
System.out.println("\nNo. of elements after while loop: " + st.size());
}
}
Output of Java Stack Program
System.out.println(“Calling empty() before elements are added: ” + st.empty());
The empty() method returns true if no elements exist in the stack. As no elements are added still, the above statement returns true.
We know Stack is a legacy class and originally not part of collections framework. As Stack extends Vector and indirectly List also, Stack can make use of all the methods of Collection interface. add() is a method of Collection interface inherited by Stack. The original method of adding, defined in Stack class, is push(). Both methods are used in the program. This is how, the designers, gave compatibility to legacy classes with collection classes.
Following is the hierarchy of Stack.
System.out.println(“Index number of A counted from top: ” + st.search(50));
System.out.println(“Index number of SNRao from top: ” + st.search(“SNRao”));
Using search method, the programmer can know at what position or index number, a particular element exist in the stack. The counting starts from the top element (added last). As 50 is added last, serach(50) returns 1. search("SNRao") returns 6. Observe the screenshot.
System.out.println(“Element at the top: ” + st.peek());
The peek() method returns the element at the top; that is 50. But the element is not removed from the stack. Observe the code, 50 is again printed with pop() method.
System.out.println(“No. of elements before pop called: ” + st.size());
The size() method returns the number of elements present in the stack. The same size() method when called after pop(), prints one less, 8 (original number is 9).
System.out.println(“Popped element: ” + st.pop());
The pop() method returns the top element. The element is permanently comes out and cannot be obtained again.
Observe when size() is called after while loop, it prints 0 as all the elements are removed from stack with iteration using pop() method; now stack is empty. Rewrite this Java stack program with different iterations to get command over the subject.
Real-time Examples of Stack Implementations
Following are a few examples of Stack in realtime.
- Cement bags in a godown.
- Clothes in an almyrah.
- Bullets loaded in a gun.
With this knowledge of general Java stack program, now you can understand the second Java Stack program, Generics Stack.
Pass your comments to improve the quality of this tutorial" Java Stack Program".
sir please send me spring crud development in details manner with explanation
I covered the basic tutorial and extra needed develop yourself.
thank you verymuch
hi sir i want servlets and jsp material and to print multiplication of 2 in pyramid shape
For servlets and JSP, I can give you hard copies if you are at Hyderabad. For pyramid, refer any standard C-lang text book or web sites, you get a lot.
Sir can i get ur servlet and jsp hard copy am in hyderabad can u plz post the address??
Config Software Solutions,
Upstairs of Mahesh Bank,
Rajanigandha Apts,
Chaitanyapuri,
DilsukhNagar,
Hyd.
Institute Ph: 040-66719299
Meet me at exactly 8.30 PM there.
Inform me two days before.
Tq sir tq very much,is there any fee should i have to pay for these materials??
Sir can u plz explain me,what is the exactly use of enum in java.
Same meaning of C/C++.
Thanks sir,
Can u plz explain me how to call Comparator(obj1,obj2) ,CompareTo()in java.
Refer the followinglinks:
http://way2java.com/collections/interface-comparator/
http://way2java.com/collections/interface-comparable/
http://way2java.com/collections/comparable-example/
http://way2java.com/collections/comparator-example/
http://way2java.com/collections/comparable-vs-comparator/
Hello sir,
Please send me ENUM Concept.
Enums
JDK 1.5 supports enumerated types. The “enum” is a special type of class. The enum type puts restriction on the instance variables. It is a keyword of Java from JDK 1.5. The variables of enum are by default integer values and also static and final. Because variables are final (constants), they are written in uppercase, by convention. Enums are type-safe.
enum StudentGrades
{
A, B, C, D
}
public class EnumDemo
{
public static void main(String args[])
{
StudentGrades sg;
sg = StudentGrades.C;
// printing enum value
System.out.println(“Value of sg: ” + sg + “\n”);
// assign one more value
sg = StudentGrades.A;
// comparing two enum values
if(sg == sg.A)
{
System.out.println(“Student is intelligent\n”);
}
// using switch statement with enum
switch(sg)
{
case A:
System.out.println(“Intelligent”); break;
case B:
System.out.println(“Clever”); break;
case C:
System.out.println(“Medium”); break;
case D:
System.out.println(“Poor”);
}
}
}
Because enum values are integer values, enum can be used in combination with switch statement as in the above program.
Programming Tip: Do not confuse enum with java.util.Enumeration interface (exists from JDK 1.0). Both are very different.