1. 程式人生 > >叠代器模式(think in java中的設計模式)

叠代器模式(think in java中的設計模式)

一個 div 封裝 imp 叠代器 方法 println rri 數字

叠代器模式:用來叠代一個容器集合數組的一種模式。可能大家很多時候是用for循環進行叠代的,但是實際上for循環內部不能使用remove方法,但是叠代器可以,這是因為叠代器內部進行了該方法的邏輯處理。同樣我們也可以用到叠代器模式去叠代,他很好的封裝了叠代方法。我們還可以從中進行一些特特異的叠代選取功能,比如叠代數字的字符串但是返回尾數為13579的數字for循環內部的東西可以封裝在叠代器中。代碼如下

public class Test2 {
    @Test
    public void t() {
        CollectionA ca=new CollectionA();
        String[] s
={"我","了","個","去"}; ca.buildCollectionA(s); while(ca.hasNext()){ System.out.println(ca.next()); } } } //叠代器接口 interface Iterator{ //如果有下一個就表示為true,如果沒有下一個就表示為false public boolean hasNext(); //取得當前叠代值並且把叠代標記推送到下一個上 public Object next(); } //叠代器 class CollectionA implements
Iterator { //當前下標標記 private int i=0; //叠代的內容 private String[] obj; public void buildCollectionA(String[] s){ this.obj=s; } @Override public boolean hasNext() { if(i>=obj.length){ return false; } return true; } @Override
public Object next() { if(hasNext()){ return obj[i++]; } return null; } }

叠代器模式(think in java中的設計模式)