|
J2SE综合--讨论Vector遍历的通用实现 |
|
![]() |
|
|
|
记得以前使用过一个由apache项目组提供的Array遍历器,觉得挺通用,也挺方便的。近日在自己的项目用到了vector的遍历,所以就想也用一个vector的Iterator.所以就自己写了一个,其实也很简单的。 对于Vector,假如我们不用遍历,那么就要自己去写循环,也是从实现结果上来说是一样的。可能的实现如下: Vector v= 一个vector的实例。 For(int i=0;i{ Object obj=v.get(i); } 我们知道,假如自己想要实现遍历,只要实现Iterator接口,然后重载其三个方法就可以了。我的代码如下: package org.zy.common.util;
import java.util.Iterator; import java.util.Vector;
public class VectorIterator implements Iterator{ private Vector v; private int currentIndex=0; public VectorIterator(){ } public VectorIterator(Vector v){ this.v=v; }
public boolean hasNext() { if(this.currentIndex System.out.println("current index is : " this.currentIndex); return true; }else{ System.out.println("out of the bound "); } return false; }
public Object next() { return this.v.get(this.currentIndex ); }
public void remove() { this.v.remove(this.currentIndex); } public static void main(String[] args){ Vector v=new Vector(); v.add(new String("aaa")); v.add(new String("bbb")); v.add(new String("ccc")); //System.out.println(v); Iterator iter=new VectorIterator(v); while(iter.hasNext()){ String str=(String)iter.next(); System.out.println(str); } } }
上面的三个方法是我们需要自己重载的方法,main方法的部分是我们调用的过程。 以后我们在使用的时候,只需要把这个类导入我们的工程,或者打成jar的包导入工程,就可以使用了。 同样的道理,我们也可以自己去写一个数组Iterator的实现类来实现数组的遍历。
学会使用遍历器,可以为我们的使用带来很大的方便。
|
上一篇:ServletContext与ServletConfig的分析 下一篇:JSP/Servlet:tomcat深入内部结构描述
![](/images/xg.gif) |
相关文档 |
|
![](/images/xg.gif) |
发表评论 |
|
|
|
|