※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

「DesignPattern/IteratorPattern/JavaCode1」の編集履歴(バックアップ)一覧はこちら

DesignPattern/IteratorPattern/JavaCode1」の最新版変更点

追加された行は青色になります。

削除された行は赤色になります。

 //java/linenumber
 
-package sample;
+
+package sample.design_pattern;
 
 interface Iterator {
     public abstract boolean hasNext();
     public abstract void next();
 
     public abstract Object getValue();
 }
 
 
 
 interface Aggregate {
     public abstract Iterator iterator();
 }
 
 
 
 class Element {
     private int value;
 
     public Element(int value) {
         this.value = value;
     }
 
     public int getValue() {
         return value;
     }
 
     public void setValue(int value) {
         this.value = value;
     }
 }
 
 
 
 class ElementIterator implements Iterator {
     private ElementList list;
     private int index;
 
     public ElementIterator(ElementList list) {
         this.list = list;
         this.index = 0;
     }
 
     public boolean hasNext() {
         return (list.getLastNum() > index) ? true : false;
     }
 
     public void next() {
         ++index;
     }
 
     public Object getValue() {
         return list.getValueAt(index);
     }
 }
 
 
 
 class ElementList implements Aggregate {
     private Element[] list;
     private int last = 0;
 
     public ElementList(int count) {
         this.list = new Element[count];
     }
 
     public void add(Element element) {
         list[last++] = element;
     }
 
     public Element getValueAt(int index) {
         return list[index];
     }
 
     public int getLastNum() {
         return last;
     }
 
     public Iterator iterator() {
         return new ElementIterator(this);
     }
 }
 
 
 
-public class JavaTest {
+public class IteratorPatternTest {
     public static void main(String[] args) {
         ElementList list = new ElementList(5);
 
         for (int i = 0; i < 5; ++i) {
             list.add(new Element(i));
         }
 
         for (Iterator it = list.iterator(); it.hasNext(); it.next()) {
             System.out.println(((Element)it.getValue()).getValue());
         }
     }
 }