Stack

Stack

It is the child class of vector & contains only or constructor.

Stack s =new stack ()

Method of stack:-

  1. Object push ( object o ) //  for inserting an object
  2. Object pop ( object o ) // remove &returns top of the stack
  3. Object Peek () // returns top of the stack with out removal
  4. Boolean empty () ; // return true, if stack is empty
  5. Int search ( object o )

If the element present, then it returns off set from the top of the stack, otherwise returns -1.

import java. util. * ;
Class StackDemo
{
Stack s = new Stack ();
      {
       stack push ( "A" );
       stack push ( "B" );
       stack push ( "C" );
       s.o.p (s);
       s.o.p ( stack search ( "A" ); // 3
       s.o.p ( stack search ( "Z" ); // -1
       }
}

The cursor of java:-

To retrieve object by object from any collection object we should go to cursors. There are 3 types of cursors available  in java.

  1. Enumeration.
  2. Iterator.
  3. Listiterator.

Enumeration

⇒ It is introduced in 1.0 version and it is legacy.

⇒ This interface define following 2 methods.

  1. Public boolean hasMoreElemnts ()
  2. Public object nextElement ()

⇒ We can get Enumeration object by using elements () method.

Enumeration e = vector elements ()
import java. util. * ();
Class EnumerationDemo
{
public static void main( String[] args )
         {
          vector v = new vector ();
          for ( i=0, i<=10, i++)
          {
           vector addElement ( i );
           }
          s.o.p (v); // 0,1,2,........9,10
          Enumeration e = vector elements ();
          while ( Enumeration has MoreElements ())
          {
          integer I = ( Integer ) enumeration nextElement ();
          if ( I%2 = = 0)
          s.o.p (I); // 0,2,4,8,10
         }
         s.o.p ( v ); // 0,1,2.........9,10
         }
}

The main limitation of Enumeration is while iterating we can’t perform removal operation iterator Enumeration just provide read access. we can resolve this problem by using iterator.An Enumeration is a group of named constants , it has introduced in 1.5 version.

Enumeration bear

{

KF, KO, RC, FO ;

}

Iterator

⇒ It has iterator from 1.2 version.

⇒ It is applicable for any collection objects, hence it is universal cursor.

⇒ iterator interface defines the following 3 methods

  1. boolean hasNext ()
  2. boolean next ()
  3. void remove ()

⇒ We can get iterator objector by using iterator of collection interface.

  Iterator itr = collection iterator ();
import java. util. * ;
Class IteratorDemo
{
Public static void main ( String[] args )
      {
       ArrayList l = new ArrayList ();
       for ( int i = 0; i<=10; i++ )
       {
        l.add ( i );
       }
      s.o.p ( l );
      Iterator itr  = l. iterator ();
      while ( itr. hasNext () )
      {
        Iterger I = ( Integer ) IntergerNext () )
        if ( I%2 = = 0 )
       {
       s.o.p ( I ) // 0,2,4,6,8,10
       }
        else
        {
           itr.remove ();
         }
         s.o.p ( l ); // 0, 2, 4, 6, 8 ,10
}

ListIterator

⇒ It is the child interface of  iterator & it has introduced in 1.2 version.

⇒ By using listIterator, we can move either to the forward or to the backward direction i.e it is a bi directional cursor.

⇒ while iteratoring we can also perform addition of new objects, replaceing existing objects.

⇒We can get listIterator by using listIterator method.

ListIterator ltr = l.listIterator ();

Methods of ListIterator interface:-

  1. Boolean hasNext ();
  2. Boolean hasprevious ();
  3. Object next ();
  4. Object previous ();
  5. int nextIndex (); // If the next Element is not available, then this method return sizx of index.
  6. int PreviousIndex (); // If there is no previous Element, then this method return -1.
  7. Void remove ()
  8. Void set ( object new )
  9. Void add ( object new )
import java. util. * ;
Class ListIteratorDemo
{
public static
     {
      LinkedList l = new LinkedList ();
      l.add ( "Narayana swamy");
      l.add ( "Anitha");
      l.add ( "Vighnesh");
      l.add ( "Sunny");
      s.o.p ( l );
ListIterator ltr = l.listIterator () ;
while  ( ltr. hasNext () )
       {
       String s = ( String ) ltr. next () ;
       if ( s. equals ( "Narayana"))
       {
        ltr. remove () ;
       }
       }
s.o.p ( l );
       }
}

/*
If ( s. equals ( " Narayana" )
{
ltr. set ( " Anitha " );
}

If (s. equals ( "Sunny" );
{
ltr. set ( " Vighnesh " );
}
*/

Property

Enumeration

Iterator

ListIteration

Is it legacy Yes No No
Is it applicable for

 

Only legacy collection classes ( vector, stack) Even collection object

 

Only list implemented class objects

 

Movements

 

 

Single directional cursor ( forward )

 

Single dimention (forward)

 

BiDirection

 

 

Accessability Only read Read & remove Read, remove add, replace
How to get By elements () By iterator () By listIterator
Method

 

2 methods hasMoreElements (), NextElement () 3 methods hasNext (), remove () A methods

 

The Author

Narayanaswamy

Hello! I am Narayanaswamy founder and admin of narayanatutorial.com. I have been working in IT industry more than 7 years. NarayanaTutorial is my web technologies blog. My specialties are Java / J2EE, Spring, Hibernate, Struts, Webservices, PHP, Oracle, MySQL, SQLServer, Web Hosting and Website Development. I am a self learner and passionate about training and writing. I am always trying my best to share my knowledge through my blog.

Leave a Reply