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使用的应该是单链存储结构,所以能够与其对应的集合对象保持一致。

  • 相关阅读:
    xml DTD中的ELEMENT和ATTLIST
    xml CDATA
    xml 及其语法
    java 多态的好处
    libusb-win32 在visual studio2008中成功编译回忆录
    【转帖】C# DllImport 系统调用使用详解 托管代码的介绍 EntryPoint的使用
    【转帖】.Net中C#的DllImport的用法
    .net 中的DllImport
    离线安装谷歌扩展
    排序算法哪家强?
  • 原文地址:https://www.cnblogs.com/xuewater/p/3326349.html
Copyright © 2011-2022 走看看