迭代器主要是為了支持容器類的遍歷, 發展歷程如下.
如果你用的是Java 1.5之前支持的類庫, 那么很可能采用的是如下的做法來遍歷集合元素:
使用iterator()
要求容器返回一個Iterator
, Iterator
將準備好返回序列的第一個元素;使用next()
獲得序列中的下一個元素;使用hasNext()
檢查序列中是否還有元素;使用remove()
將迭代器返回的元素刪除.以下是一個實例:
List<String> strs = Arrays.asList("a", "b", "c");// Java 1.5之前的做法Iterator<String> iterator = strs.iterator();while (iterator.hasNext()) { String str = (String)iterator.next(); out.PRintln(str);}Iterable
是Java 1.5的新特性, 主要是為了支持forEach
語法, 使用容器的時候, 如果不關心容器的類型, 那么就需要使用迭代器來編寫代碼. 使代碼能夠重用.
使用方法很簡單:
List<String> strs = Arrays.asList("a", "b", "c");for (String str: strs) { out.println(str);}使用接收lambda表達式的forEach
方法進行快速遍歷.
新聞熱點
疑難解答