zoukankan      html  css  js  c++  java
  • java对象群体的组织:Enumeration及Iterator类

    在一般情况下,遍历集合类会使用一下方式:

    for(int i=0;i<v.size();i++)< p="">

    Customer c=(Custormer)v.get(i);

    使用Enumeration类和Iterator类可以简化这个过程

    1.Enumeration类  (权举)

    使用范围:Vector类

    方法:

    boolean hasMoreElement() //测试此枚举是否包含更多的元素.

    Enumeration nextElement() //如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。

    使用举例:

    Enumeration e=v.enumeration(); while(e.hasMoreElement()) Customer c=(Customer)e.nextElement(); //注意:使用Enumeration同样需要对元素进行显式转换

    缺点:在遍历过程中删除元素效果,原因不是好清楚,所以建议使用Iterator类的remove()

    2.Iterator类  //据说是Enumeration类的改进版

    使用范围:Vector类,ArrayList类,HashTable类等等

    方法:

    boolean hasNext() //判断是否还有下一个元素 Iteraor next() //返回下一元素 void remove() //从集合类仲去除最后调用next()返回的元素。注意:调用集合类的remove()删除元素效果的效果唔理想,所以建议使用Iterator类的remove()

    使用举例:

    Iterator e=v.elemention(); while(e.hasNext()) Customer c=(Customer)e.next(); //讲埋最后一次,获取集合类的元素时必须进行显式转换,一定要记住

    心得体会:

    本人认为Vector类使用顺序存储结构,所以对于不用长度的元素处理能力较差。而Iterator使用的应该是单链存储结构,所以能够与其对应的集合对象保持一致。

  • 相关阅读:
    ABP初始化
    ABP生成错误:必须添加对程序集“netstandard”的引用
    树莓派安装Mysql
    多对多关系的中间表命名
    dapper.net 存储过程
    Rabbitmq发送方消息确认
    Rabbitmq发送消息Message的两种写法
    ThreadLocal原理
    多模块打包为可执行jar问题
    类中属性加载顺序的demo
  • 原文地址:https://www.cnblogs.com/xuewater/p/3326349.html
Copyright © 2011-2022 走看看