1700467313
1700467314
}
1700467315
1700467316
注意 开发系统时,迭代器的删除方法应该完成两个逻辑:一是删除当前元素,二是当前游标指向下一个元素。
1700467317
1700467318
抽象容器如代码清单20-11所示。
1700467319
1700467320
代码清单20-11 抽象容器
1700467321
1700467322
public interface Aggregate{
1700467323
1700467324
//是容器必然有元素的增加
1700467325
1700467326
public void add(Object object);
1700467327
1700467328
//减少元素
1700467329
1700467330
public void remove(Object object);
1700467331
1700467332
//由迭代器来遍历所有的元素
1700467333
1700467334
public Iterator iterator();
1700467335
1700467336
}
1700467337
1700467338
具体容器如代码清单20-12所示。
1700467339
1700467340
代码清单20-12 具体容器
1700467341
1700467342
public class ConcreteAggregate implements Aggregate{
1700467343
1700467344
//容纳对象的容器
1700467345
1700467346
private Vector vector=new Vector();
1700467347
1700467348
//增加一个元素
1700467349
1700467350
public void add(Object object){
1700467351
1700467352
this.vector.add(object);
1700467353
1700467354
}
1700467355
1700467356
//返回迭代器对象
1700467357
1700467358
public Iterator iterator(){
1700467359
1700467360
return new ConcreteIterator(this.vector);
1700467361
1700467362
}
[
上一页 ]
[ :1.700467313e+09 ]
[
下一页 ]