在Java中,一個對象要表明自己支持叠代的話,就要實現Iterable接口。集合中Collection實現了這個接口,所以其實現可以用Iterator()方法,這個方法是實現了Iterable接口才特有的方法。舉個例子,ArrayList實現了Iterable接口,他就可以調用Iterator()方法,得到一個Iterator對象進行叠代。
而僅就遍曆數據而言,iterator遍曆比下标遍曆,多産生了一個iterator對象,每獲取一個成員會多進行兩次檢查。當然,這并不會造成很大的性能差異,多出來的對象和檢查消耗的性能可以忽略不計,不會成為性能瓶頸。
資料拓展:叠代器(Iterator)模式,又叫做遊标(Cursor)模式。GOF給出的定義為:提供一種方法訪問一個容器(container)對象中各個元素,而又不需暴露該對象的内部細節。從定義可見,叠代器模式是為容器而生。很明顯,對容器對象的訪問必然涉及到遍曆算法。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!