java中自己實現一個可以用foreach循環的類 Iterable,Iterator


要實現一個可以用可以用foreach循環的類就必須實現Iterable這個幾口,接口中重寫一個iterator方法,這個方法返回一個 Iterator<E>接口。

代碼如下:

public class IterTest   implements Iterable<String> {
      //存儲內容的數組 private Object[] obj=new Object[1]; //記錄添加元素的個數 private int size;
//記錄當前元素的下標 private int current=0; //添加元素 public void add(String str){
//判斷數組是否已經滿了如果滿了擴張數組 if(size==obj.length){ //擴張數組到一個新長度 obj=Arrays.copyOf(obj, obj.length+obj.length<<1); } obj[size++]=str; }
//重寫iterator方法 public Iterator<String> iterator() { 定義實現了Iterator的內部類 class iter implements Iterator<String> { @Override public boolean hasNext() { // 判斷當前指針是否小於實際大小 if(current<size){ return true; } return false; } @Override public String next() { // 返回當前元素,並把當前下標前移 return obj[current++].toString(); } @Override public void remove() { // TODO Auto-generated method stub } } // 返回自定義的Iteraror子類 return new iter(); } }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM