赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

J2SE综合--讨论Vector遍历的通用实现

发布时间:2007.12.28 04:42     来源:赛迪网    作者:zhyiwww

记得以前使用过一个由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的实现类来实现数组的遍历。

学会使用遍历器,可以为我们的使用带来很大的方便。 
       (责任编辑:包春林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· JSP/Servlet:tomcat深入内部结构描述 (12-27) · 用 JSP 定制标签创建超连接的方法(一) (12-27)
· 用JSP定制标签创建超连接的方法(二) (12-27) · J2EE综合:关于Config参数和Context参数 (12-27)
· 用JSTL标签访问list且判断list的选中项 (12-27) · Java入门:初学者因该了解内存优化编程 (12-27)
· Java语言深入--关于java的输入输出 (12-27) · 使用Annotation设计持久层 (12-27)
· 程序人生--一个程序员应该注意的问题 (12-26) · 初学入门:一个完备的数据库连接池类 (12-26)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 网银交易收费 我国银行业如何达国际化标准
· 家庭信息化普及率提高 网上缴费成为新时尚
· 五条黄金准则能够让CIO巧妙加薪 CIO焦虑调查
· 网上书店解决方案 深圳边检指挥中心ITSM项目
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统