1. 程式人生 > >迭代器Iterator基本用法--集合遍歷

迭代器Iterator基本用法--集合遍歷

之前對迭代器這個概念有些模糊,今天特意從網上查了一下,參考著幾篇文章,整理出它的基本用法–遍歷集合,希望能對大家有所幫助(本人釋出的第一篇文章,若有不足之處,敬請指正,不勝感激)

基本概念:迭代器是一種設計模式,是一個物件,可遍歷並選擇序列中的物件,而開發人員不需瞭解該序列的底層結構。迭代器常被稱為"輕量級物件",因它建立代價小。
使用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()方法獲取下一個元素。