home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JSAMPLES.Z / Finding1.java < prev    next >
Text File  |  1998-05-08  |  2KB  |  64 lines

  1. // Copyright(c) 1996,1997 ObjectSpace, Inc.
  2. import com.objectspace.jgl.*;
  3. import com.objectspace.jgl.adapters.*;
  4. import com.objectspace.jgl.algorithms.*;
  5. import com.objectspace.jgl.predicates.*;
  6.  
  7. /**
  8.  * Finding a single element, conditional searching, finding consecutive elements.
  9.  *
  10.  * @see com.objectspace.jgl.algorithms.Finding
  11.  * @version 3.0.0
  12.  * @author ObjectSpace, Inc.
  13.  */
  14.  
  15. public class Finding1
  16.   {
  17.   public static void main( String[] args )
  18.     {
  19.     Array array = new Array();
  20.     array.add( "cat" );
  21.     array.add( "dog" );
  22.     array.add( "emu" );
  23.     array.add( "dog" );
  24.     array.add( "dog" );
  25.     ArrayIterator i = array.begin();
  26.  
  27.     while ( true )
  28.       {
  29.       i = (ArrayIterator)Finding.find( i, array.end(), "dog" );
  30.       if ( i.atEnd() ) // A simpler way: if ( i.equals( array.end() ) )...
  31.         break;
  32.       System.out.println
  33.         ( 
  34.         "iterator found " + i.get() + " at index " + i.index() 
  35.         );
  36.       i.advance();
  37.       }
  38.  
  39.     int intArray[] = { 3, 6, 2, 1, 8, 9, 4, 5 };
  40.     IntIterator j = (IntIterator)Finding.findIf
  41.       ( 
  42.       IntIterator.begin( intArray ), 
  43.       IntIterator.end( intArray ), 
  44.       new BindSecondPredicate( new GreaterNumber(), new Integer( 7 ) ) 
  45.       );
  46.     System.out.println
  47.       ( 
  48.       "First element > 7 is " + j.get() + " at index " + j.index() 
  49.       );
  50.  
  51.     DList list = new DList();
  52.     list.add( "cat" );
  53.     list.add( "dog" );
  54.     list.add( "emu" );
  55.     list.add( "emu" );
  56.     list.add( "dog" );
  57.     DListIterator k = (DListIterator)Finding.adjacentFind( list, new com.objectspace.jgl.predicates.EqualTo() );
  58.     System.out.println
  59.       ( 
  60.       "First consecutive sequence: " + k.get() + " at index " + k.index()
  61.       );
  62.     }
  63.   }
  64.