1. 程式人生 > 程式設計 >Java Collection集合iterator方法解析

Java Collection集合iterator方法解析

這篇文章主要介紹了Java Collection集合iterator方法解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Iterator介面概述

/**
 * java.util.Iterator介面:選代器(對集合進行遍歷)
 *   有兩個常用的方法
 *          boolean hasNext()
 *             如果仍有元素可以迭代,則返回true。
 *             即判斷集合中還有沒有下ー個元素,有就返回true,沒有就返回 false
 *          E next()
 *             返回送代的下一個元素。
 *             即取出集合中的下一個元素
 *   iterator迭代器,是一個介面,我們無法直接使用,需要使用Iterator介面的實現類物件。
 *       獲取實現類的方式比較特殊Collection介面中有一個方法,叫iterator(),這個方法返回的就是送代器的實現類物件
 *       Iterator<E> iterator()返回在該collection集合的元素上進行迭代的送代器。
 *
 * 迭代器的使用步驟(重點):
 *       1.使用集合中的方法 iterator()獲取送代器的實現類物件,使用Iterator介面接收(多型)
 *       2.使用Iterator介面中的方法hasNext來判斷還有沒有下一個元素
 *       3.使用Iterator介面中的方法next來取出集合中的下一個元素
 */

迭代器程式碼的實現

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collection;

public class Demo01Iterator {
  public static void main(String[] args) {
    Collection <String> collection = new ArrayList<>();

    collection.add("1號");
    collection.add("2號");
    collection.add("3號");
    collection.add("4號");
    collection.add("5號");

    // 第一步:使用集合中的方法 iterator() 獲取送代器的實現類物件
    // 第二步:使用Iterator介面接收(多型)
    Iterator<String> stringIterator = collection.iterator();

    // 第三步:使用Iterator介面中的方法hasNext來判斷還有沒有下一個元素
    while (stringIterator.hasNext()) {
      // 第四步:使用Iterator介面中的方法next來取出集合中的下一個元素
      System.out.println(
          stringIterator.next()
      );
    }
    
  }
}
輸出結果:
1號
2號
3號
4號
5號

迭代器的實現原理

new一個集合出來
collection = new ArrayList<>()


假設集合中新增有元素
collection = [一號元素,二號元素,三號元素,四號元素,五號元素]


集合中的元素對應的索引
Index = [0,1,2,3,4]


呼叫iterator方法
collection.iterator()
作用:獲取迭代器的實現類物件井且會把指標(索引)指向集合的-1素引


程式碼說明:
while (stringIterator.hasNext()) {
  stringIterator.next()
}
通過Iterator介面的hasNext()方法,判斷集合是否還有沒有下一個元素
如果有下一個元素,那麼就呼叫Iterator介面的next()方法,取出下一個元素,並且會把指標向後移一位。


就這樣,從索引的 -1 位置的下一位索引,開始獲取元素,直到獲取完全。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。