Java Collection集合iterator方法解析
阿新 • • 發佈:2020-01-14
這篇文章主要介紹了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 位置的下一位索引,開始獲取元素,直到獲取完全。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。