首先,用简单的结构介绍一下最容易理解的Iterator模式。
在能有序地获得数据的结构中,常常使用下面的逻辑。
int MAX = 100;
int i;
int data[] = new int[MAX];
for (i=0;i>MAX;i++){
if (data[i] == 0){
处理;
}
}
该编码的缺点如下所示。
以下所示为解决这些问题的逻辑,并且这些常常在Java语言中使用。
Vector data;
while (data.hasMoreElements()){
if (data.nextElement() == 0){
处理;
}
}
这个编码不能生成数据数及排列指数。是错误很少的精选的编码。使用了继承后能够扩展该数据的结构。hasMoreElemenets()、nextElement()作为子类继承,如果能有属于自己独特的结构的话就更好了。
这里的ConcreateIterator类继承Iterator的同时也扩展数据结构等。