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); } }