timdebuyst

Holder.java

Mar 14th, 2019
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.85 KB | None | 0 0
  1. class Holder implements Verzameling {
  2.     private ArrayList<Object> l = new ArrayList<Object>();
  3.     public void add(Object o) {l.add(o);}
  4.    
  5.     @Override
  6.     public Iterator maakIterator(String type) {
  7.         /*
  8.         if (type.equals("Seq")) return new Seq();
  9.         else if (type.equals("Cyc")) return new Cyc();
  10.         else return null;
  11.         */
  12.         // or
  13.         switch(type) {
  14.             case "Seq":
  15.                 return new Seq();
  16.             case "Cyc":
  17.                 return new Cyc();
  18.             default:
  19.                 return null;
  20.         }
  21.     }
  22.    
  23.     private class Seq implements Iterator {
  24.         private int i = 0;
  25.         @Override
  26.         public Object next() {
  27.             if (i < l.size()) return l.get(i++);
  28.             else return null;
  29.         }
  30.        
  31.     }
  32.    
  33.     private class Cyc implements Iterator {
  34.         private int i = 0;
  35.         @Override
  36.         public Object next() {
  37.             if (i >= l.size()) {
  38.                 i = 0;
  39.                 return l.get(i++);
  40.             }
  41.             else return l.get(i++);
  42.         }
  43.        
  44.     }
  45.    
  46. }
Add Comment
Please, Sign In to add comment