简介
迭代器模式提供了能顺序访问集合中的元素并且不暴露其底层表示的方法,在java
中有许多集合都有着迭代器。
抽象迭代器
public interface Iterator {
public Boolean hasNext();
public Object next();
}
具体迭代器
public class IteratorImpl implements Iterator {
private String[] strs = null;
private int position;
public IteratorImpl(String[] strs){
this.strs = strs;
}
@Override
public Boolean hasNext() {
if(null != strs && strs.length > 0 && position < strs.length){
return true;
}
return false;
}
@Override
public Object next() {
String str = strs[position];
position++;
return str;
}
}
测试
public class IteratorDemo {
@Test
public void iteratorTest(){
String[] strs = {"1","2","3","4"};
IteratorImpl iterator = new IteratorImpl(strs);
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
上面的代码中的迭代器是我们自己手动创建的,我们可以自己创建自定义的集合,并在自定义的集合中创建迭代器,也可以在自定义的迭代器中添加一些额外的操作。