迭代器Iterator基本用法--集合遍歷
阿新 • • 發佈:2019-02-20
之前對迭代器這個概念有些模糊,今天特意從網上查了一下,參考著幾篇文章,整理出它的基本用法–遍歷集合,希望能對大家有所幫助(本人釋出的第一篇文章,若有不足之處,敬請指正,不勝感激)
基本概念:迭代器是一種設計模式,是一個物件,可遍歷並選擇序列中的物件,而開發人員不需瞭解該序列的底層結構。迭代器常被稱為"輕量級物件",因它建立代價小。
使用iterator()方法要求容器(集合)返回一個Iterator。首次呼叫Iterator的next()方法時,它返回序列的第一個元素。
它提供了一種訪問一個容器(container)物件中的各個元素,而又不必暴露該物件內部細節的方法。
使用next()獲得序列中的下一個元素。
使用hasNext()檢查序列中是否還有元素。
使用remove()將迭代器新返回的元素刪除。
繼承於Iterator的ListIterator可雙向遍歷List,也可以從List中插入和刪除元素。
話不多說,直接上程式碼:
package com.env.execise; import java.util.Iterator; import java.util.List; import java.util.LinkedList; public class Test{ public static void main(String[] args){ List<String> list = new LinkedList<String>(); list.add("java"); list.add("mysql"); list.add("資料結構"); list.add("c語言"); for(Iterator iter = list.iterator();iter.hasNext();){ String str = (String)iter.next(); System.out.println(str); } } }
執行結果:
java
mysql
資料結構
c語言
說明:
使用容器(此處為集合list)的iterator方法返回一個Iterator,然後通過Iterator的next()方法返回第一個元素。
使用Iterator的hasNext()方法判斷容器中是否還有元素,若有,可使用next()方法獲取下一個元素。