http://www.books.com.tw/products/0010750585
chap16.
走訪器模式 Iterator
目的:提供方法走訪集合內的物件,走訪過程不需知道集合內部的結構
package com.ssc24.chap16.demo01; public interface Iterator<E> { boolean hasNext(); E next(); }
package com.ssc24.chap16.demo01; public class SimpleList { private int index = 0; private int size = 0; private String[] carList = new String[1000]; public void add(String car) { carList[size] = car; size++; } public SimpleIterator getIterator() { return new SimpleIterator(); } public class SimpleIterator implements Iterator { @Override public boolean hasNext() { if (index >= size) { return false; } return true; } public String next() { if (hasNext()) { return carList[index++]; } throw new IndexOutOfBoundsException(); } } }
package com.ssc24.chap16.demo01; import static org.junit.Assert.*; import org.junit.Test; public class SimpleListTest { @Test public void test() { System.out.println("===走訪器模式 測試==="); SimpleList list = new SimpleList(); list.add("樂高車"); list.add("超跑"); list.add("露營車"); list.add("連結車"); list.add("九門轎車"); list.add("F1賽車"); Iterator it = list.getIterator(); while (it.hasNext()) { System.out.println(it.next()); } it.next(); } }
/** ===走訪器模式 測試=== 樂高車 超跑 露營車 連結車 九門轎車 F1賽車 **/