技术开发 频道

Vector遍历的通用实现

  【IT168 技术文档】

  记得以前使用过一个由apache项目组提供的Array遍历器,觉得挺通用,也挺方便的。近日在自己的项目用到了vector的遍历,所以就想也用一个vector的Iterator.所以就自己写了一个,其实也很简单的。

  对于Vector,如果我们不用遍历,那么就要自己去写循环,也是从实现结果上来说是一样的。可能的实现如下:

  Vector v= 一个vector的实例。   For(int i=0;iSIZE();I++){< p>   {   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.currentIndexIS.V.SIZE()){< p>   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的实现类来实现数组的遍历。

  学会使用遍历器,可以为我们的使用带来很大的方便。

0
相关文章