CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > Java技术

Vector遍历的通用实现

作者: zhyiwww ,  出处:IT专家网论坛, 责任编辑: 包春林, 
2008-05-13 04:00
  记得以前使用过一个由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的实现类来实现数组的遍历。

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

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i