java迭代器之泛型

package simple;

import java.util.Arrays;
import java.util.Iterator;

/**
* 迭代器原理:中級(泛型)
* @author Lenovo
*
*/
public class Deeptextlist<E> implements Iterator<E>{

public Object elemen[]=new Object[5];

public int size=0;
private int course=-1;  
public int size() {
    return this.size;
}**重點內容**
//添加元素
public void add(E ele) {
    if(this.size==elemen.length) {//對數組進行擴容
        elemen=Arrays.copyOf(elemen,elemen.length+5);
    }
    elemen[size]=ele;
    size++;
}
public Iterator<E> iterator() {
    return new Iterator<E>() {//創建Iterator迭代器接口實現類(沒有名稱)的對象
         private int course=-1;
            public E next() {
                course++;
                return (E)elemen[course];
            }
            public void remove() {
                //移動數組元素
                System.arraycopy(elemen, course+1, elemen, course, size-(course+1));
                //實際大小
                size--;
                //指針回位
                course--;
            }
            @Override
            public boolean hasNext() {
                return course+1<size;
            }   

    };
}


public static void main(String[] args) {
Deeptextlist<Integer> lDeeptextlist=new Deeptextlist<Integer>();    
         lDeeptextlist.add(1);
         lDeeptextlist.add(2);
         Iterator iterator=lDeeptextlist.iterator();
         while(iterator.hasNext()) {      
            System.out.println(iterator.next());
         }

}
@Override
public boolean hasNext() {
    // TODO Auto-generated method stub
    return false;
}
@Override
public E next() {
    // TODO Auto-generated method stub
    return null;
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章