千鋒教育Java入門全套視頻教程(java核心技術,適合java零基礎,Java

迭代器設計模式與Collection的迭代器
迭代器(Iterator)模式的定義:提供一個對象來順序訪問聚合對象中的一系列數(shù)據(jù),而不暴露聚合對象的內部表示。迭代器模式是一種對象行為型模式。其優(yōu)點如下:
1、訪問一個聚合體無需暴露內部對象結構細節(jié)
2、遍歷任務交給了迭代器,減輕了本類的任務
3、以接口的形式的出現(xiàn),更好的適配了不同數(shù)據(jù)結構的聚合體
4、并且可以繼承接口,自定義新的迭代器
Collection(單列集合)也采用了迭代器的設計模式,盡管Collection下的各種集合底層實現(xiàn)不今相同,也能根據(jù)各自的特點設計出相應的迭代器。
基礎迭代器:iterator 只有三個抽象方法 hasNext();用來判斷集合中是否還有元素。next();用來獲取下一個元素的。remove();用來刪除當前位置的元素,是接口中的默認方法,但默認是拋出異常,是否可刪除,需要實現(xiàn)類重寫該方法。
List集合特有的迭代器:listIterator(); 該迭代器接口繼承了iterator接口,并且添加許多新方法和構造方法,相比iterator,功能更多例如:從給定下標進行遍歷,倒序遍歷,遍歷的時候增加、修改元素……
除此,集合的遍歷還有stream流,增強for循環(huán)(也是迭代器實現(xiàn),不過寫法更加簡潔),foreach()方法等等,多種多樣的遍歷模式,也使得集合使用起來非常便捷,功能也多種多樣。
標簽: