Mega Code Archive

 
Categories / Java / Language Basics
 

Holds a sequence of Objects

// : c08:Sequence.java // Holds a sequence of Objects. // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. interface Selector {   boolean end();   Object current();   void next(); } public class Sequence {   private Object[] objects;   private int next = 0;   public Sequence(int size) {     objects = new Object[size];   }   public void add(Object x) {     if (next < objects.length)       objects[next++] = x;   }   private class SSelector implements Selector {     private int i = 0;     public boolean end() {       return i == objects.length;     }     public Object current() {       return objects[i];     }     public void next() {       if (i < objects.length)         i++;     }   }   public Selector getSelector() {     return new SSelector();   }   public static void main(String[] args) {     Sequence sequence = new Sequence(10);     for (int i = 0; i < 10; i++)       sequence.add(Integer.toString(i));     Selector selector = sequence.getSelector();     while (!selector.end()) {       System.out.println(selector.current());       selector.next();     }   } } ///:~