迭代器是什么?
迭代器提供一种方法顺序访问一个聚合对象中的各个元素,且不需要暴露该对象的内部表示。
迭代器的使用范围
1、 访问一个聚合(collections)对象的内容二无需暴露它的内部表示
2. 支持对聚合对象的多种遍历。
3. 为遍历不同的聚合结构提供一个统一的接口。
迭代器的示例
interface IIterator
{
public boolean hasNext();
public Object next();
}
interface IContainer
{
public IIterator createIterator();
}
class BooksCollection implements IContainer
{
private String m_titles[] = {"Design Patterns","1","2","3","4"};
public IIterator createIterator()
{
BookIterator result = new BookIterator();
return result;
}
private class BookIterator implements IIterator
{
private int m_position;
public boolean hasNext()
{
if (m_position < m_titles.length)
return true;
else
return false;
}
public Object next()
{
if (this.hasNext())
return m_titles[m_position++];
else
return null;
}
}
}