// 以下列一則小Demo供參考:
public static void main(String[] args) {
// 創建String類型的list集合;
List<String> list = new ArrayList<String>();
// 添加數據元素;
list.add("000");
list.add("111");
list.add("222");
list.add("333");
// 獲取容器對象數據迭代器;
Iterator<String> iterator = list.iterator();
/**
* Iterator.hasNext(); 若容器中還有未迭代的元素,返回true;
* Iterator.next(); 返回迭代的下一個元素;
*/
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
迭代器原理:
在遍歷集合時,首先通過調用集合的iterator()方法獲取到對應集合的迭代對象;
然後使用hashNext()方法判斷當前迭代位置之後是否還有元素;如果還有,返回true;
調用next()方法獲取對應元素;
其元素指向原理大概如下:
在初始化的時候,Iterator迭代器索引默認指向集合元素的第一位減一位;也就是說不指向第一位索引元素;
在每次調用迭代器next()方法後,迭代器的索引則會向後移動一位指向,並將其返回;
知道hashNext()方法返回false,此時集合內迭代位則表示已經到了末位;