【Java】Iterator底層原理,自己實現Iterator
阿新 • • 發佈:2018-12-26
package test; import java.util.Iterator; public class MyIterator implements java.lang.Iterable<String> { private String[] element = {"a","b","c","d","e"}; private int size = element.length; //匿名內部類 public Iterator<String> iterator(){ return new Iterator<String>(){ //遊標指標 private int cursor = -1; /** * 判斷是否存在下一個元素 * @return */ public boolean hasNext() { return cursor+1 < size; } /** * 獲取下一個元素 * @param args */ public String next() { cursor++; return element[cursor]; } /** * 刪除元素 * @param args */ public void remove() { } }; } public static void main(String[] args) { MyIterator test = new MyIterator(); Iterator<String> it = test.iterator(); while(it.hasNext()) { System.out.println(it.next()); } //增強for,必須實現Iteralbe介面 //不考慮下標 for(String temp:test) { System.out.println(temp); } } }