Iterator接口
Iterator接口也是Java集合框架的成員,但它與Collection系列、Map系列的集合不一樣:Collection系列集合、Map系列集合主要用於盛裝其他對象,而Iterator則主要用於遍歷(即迭代訪問)Collection集合中的元素,Iterator對象也被稱為迭代器。
Iterator接口里定義了如下4個方法:
–boolean hasNext():如果被迭代的集合還元素沒有被遍歷,則返回true。
–Object next():返回集合里下一個元素。
–void remove() :刪除集合里上一次next方法返回的元素
–void forEachRemaining(Consumer action),這是Java 8為Iterator新增的默認方法,該方法可使用Lambda表達式來遍歷集合元素。
import java.util.*;
public class IteratorTest
{
public static void main(String[] args)
{
// 創建集合、添加元素的代碼與前一個程序相同
Collection books = new HashSet();
books.add("輕量級Java EE企業應用實戰");
books.add("瘋狂Java講義");
books.add("瘋狂Android講義");
// 獲取books集合對應的迭代器
Iterator it = books.iterator();
while(it.hasNext())
{
// it.next()方法返回的數據類型是Object類型,因此需要強制類型轉換
String book = (String)it.next();
System.out.println(book);
if (book.equals("瘋狂Java講義"))
{
// 從集合中刪除上一次next方法返回的元素
it.remove();
}
// 對book變量賦值,不會改變集合元素本身
book = "測試字符串"; //①
}
System.out.println(books);
}
}
