package com.lonton.designpatterns;
interface Iterator
{
public boolean hasNext();
public Object next();
}
interface Container
{
public Iterator creaIterator();
}
class RecordCollection implements Container
{
private String recordArray[] = {"first", "second", "third", "fourth", "fifth"};
@Override
public Iterator creaIterator()
{
// TODO Auto-generated method stub
return new RecordIterator();
}
private class RecordIterator implements Iterator
{
private int index;
public RecordIterator()
{
// TODO Auto-generated constructor stub
index = 0;
}
@Override
public boolean hasNext()
{
// TODO Auto-generated method stub
if (index < recordArray.length)
{
return true;
}
return false;
}
@Override
public Object next()
{
// TODO Auto-generated method stub
if (hasNext())
{
return recordArray[index++];
}
else
{
return null;
}
}
}
}
public class IteratorTest
{
public static void main(String[] args)
{
RecordCollection recordCollection = new RecordCollection();
Iterator iterator = recordCollection.creaIterator();
while (iterator.hasNext())
{
System.out.println(iterator.next());
}
}
}
Iterator 迭代器模式
最新推荐文章于 2024-09-11 01:25:33 发布