http://www.verejava.com/?id=16999127808571
Package Com.iterator.theory;import Java.util.arrays;public class testiterator{public static void Main (string[] args) {List list=new ArrayList (); List.add ("Li Yang"); List.add ("Wang Tao"); List.add ("Zhang Sa"); Iterator Iter=list.iterator (); while (Iter.hasnext ()) {Object obj=iter.next (); System.out.println (obj); }}}package Com.iterator.theory;public Interface iterator{public boolean hasnext (); Public Object next ();} Package Com.iterator.theory;public class Iteratorimpl implements iterator{private int index; Private list List; Public Iteratorimpl (List list) {this.list=list; } @Override public Boolean hasnext () {return index<list.size (); } @Override public Object Next () {object element=null; if (Index<list.size ()) {element=list.get (index); index++; } return element; }}package Com.iterator.theory;public Interface list{public void Add (Object element); Public Object get (int index); public int size (); Public Iterator Iterator ();} Package Com.iterator.theory;import Java.util.arrays;public class ArrayList implements list{private int initcapacit=20; private int size; Private object[] Elementdata; Public ArrayList () {elementdata=new object[initcapacit]; } @Override public void Add (Object element) {if (size<initcapacit) {elementdata[size ]=element; size++; } else {elementdata=arrays.copyof (elementdata, size); Elementdata[size]=element; size++; }} @Override public Object get (int index) {return elementdata[index]; } @Override public int size () {return size; } @Override Public Iterator Iterator () {Return to New Iteratorimpl (this); }}
http://www.verejava.com/?id=16999127808571
The iterator pattern for Java design Patterns