Iterator迭代器接口讲解
Iterator迭代器接口
使用Iterator接口遍歷集合元素
1 Iterator對象稱為迭代器(設(shè)計模式的一種),主要用于遍歷 Collection 集合中的元素。
2 GOF給迭代器模式的定義為:提供一種方法訪問一個容器(container)對象中各個元
素,而又不需暴露該對象的內(nèi)部細(xì)節(jié)。迭代器模式,就是為容器而生。類似于“公
交車上的售票員”、“火車上的乘務(wù)員”、“空姐”。
3 Collection接口繼承了java.lang.Iterable接口,該接口有一個iterator()方法,那么所
有實(shí)現(xiàn)了Collection接口的集合類都有一個iterator()方法,用以返回一個實(shí)現(xiàn)了
Iterator接口的對象。
4 Iterator 僅用于遍歷集合,Iterator 本身并不提供承裝對象的能力。如果需要創(chuàng)建
Iterator 對象,則必須有一個被迭代的集合。
5 集合對象每次調(diào)用iterator()方法都得到一個全新的迭代器對象,默認(rèn)游標(biāo)都在集合
的第一個元素之前。
iterator接口的方法
在調(diào)用it.next()方法之前必須要調(diào)用it.hasNext()進(jìn)行檢測。若不調(diào)用,且下一條記錄無效,直接調(diào)用it.next()會拋出NoSuchElemenException異常
迭代器執(zhí)行原理
iterator接口remove()方法
1 Iterator可以刪除集合的元素,但是是遍歷過程中通過迭代器對象的remove方 法,不是集合對象的remove方法。
2 如果還未調(diào)用next()或在上一次調(diào)用 next 方法之后已經(jīng)調(diào)用了 remove 方法,再調(diào)用remove都會報IllegalStateException。
總結(jié)
以上是生活随笔為你收集整理的Iterator迭代器接口讲解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Apache php 的一些基本操作
- 下一篇: 谈谈我国电子商务中的安全问题