迭代器(Iterator) 模式,又叫做游标(Cursor )模式
- public interface Iterator {
- boolean hasNext();//是否有下一个,有返回true,否则返回false
- Object next();// 遍历到下一个
- void remove();// 删除当前元素
- }
遍历
- import java.util.HashSet;
- import java.util.Iterator;
- import java.util.Set;
- /**
- * 通过迭代函数访问类集,步骤如下
- * 通过调用类集的iterator()获得对类集的迭代函数
- * 建立一个调用hasNext()的循环,只要hasNext()返回true,就进行循环迭代
- * 在循环内部,通过调用next()方法得到每一个元素
- * hasNext()相当一个指针,最开始指针在第一个元素的前面,
- * 循环一次指针移动到下一个元素的后面,下下一个元素的前面
- * 每一种集合类返回的Iterator具体类型可能不同,
- * Array可能返回ArrayIterator,Set可能返回 SetIterator,
- * Tree可能返回 TreeIterator,但是它们都实现了Iterator接口
- * 因此,客户端不关心到底是哪种Iterator,它只需要获得这个Iterator接口即可,这就是面向对象的优势
- */
- public class Demo {
- public static void main(String[] args) {
- Set set = new HashSet();
- set.add("a");
- set.add("b");
- set.add("c");
- Iterator ite = set.iterator();
- while(ite.hasNext()){
- System.out.println(ite.next());
- }
- }
- }