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

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

java对象群体的组织:Enumeration及Iterator类的更多相关文章

  1. java 4对象群体的组织

    两个接口 collecion接口 元素构成的元素的群体 map接口 键值对组成的群体 Array类 Vector ArrayList 在数组上构建的类 Java集合框架介绍 集成过得数据结构 查询方法 ...

  2. Java对象 json之间的转换(json-lib)

    在这里主要简单的介绍一下,如何使用json-lib这个工具包来完成Java对象(或集合)与json对象(或集合)之间的转换~ 1. Java对象转换成json(既创建json) 关键类:JSONObj ...

  3. Java对象的创建及使用

    Java对象的创建及使用 对象是类的具体实例(instance),是真实存在的个体:

  4. Json:Java对象和Json文本转换工具类

    Json 是一个用于 Java 对象 和 Json 文本 相互转换的工具类. 安装 下载源码 git clone https://github.com/njdi/durian.git 编译源码 cd ...

  5. java提高篇(三十)-----Iterator

    迭代对于我们搞Java的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. Iterator iterator = list.iterator(); while(iterator ...

  6. Enumeration与Iterator的对比

    Enumeration与Iterator的对比 Enumeration 接口 Iterator 接口 参数的含义 枚举类型 迭代器元素类型 所在包 java.util 父类 无 子类 StringTo ...

  7. Java中Iterator类的详细介绍

    迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节. 概述 Java集合框架的集合类,我们有时候称之为容器.容器的种类有很多种,比如ArrayList.Li ...

  8. [转]使用Enumeration和Iterator遍历集合类

    原文地址:http://www.cnblogs.com/xwdreamer/archive/2012/05/30/2526268.html 前言 在数据库连接池分析的代码实例中,看到其中使用Enume ...

  9. Map以及Set的遍历(EntrySet方法,补充enumeration和Iterator的区别)

    public void mearge(Map map) { Map returnMap = new HashMap<>(); // 转换为Entry Set<Map.Entry< ...

随机推荐

  1. React Native分析(index.ios.js)

    定义创建组件MyComponent(index.ios.js): 'use strict' var React = require('react-native'); var { AppRegistry ...

  2. Android开发初始

    由于本人一直的主攻方向是.NET平台,所以移动开发方面主要是Windows Phone平台,但是确实Windows Phone的市场占有率太小了,在加上本人是个技术迷,希望尝试新的东西,所以Andro ...

  3. 【坑】执行Consumer的时候发生java.net.UnknownHostException错误

    [时间]: 2016/4/8 17:30 [问题]: kafka执行Consumer实例的时候,发生了一下错误. kafka配置文件server.properties如下: zookeeper配置文件 ...

  4. Entity Framework学习笔记(二)----CRUD(1)

    请注明转载地址:http://www.cnblogs.com/arhat 这篇文章老魏和大家分享一下Entity Framework的CRUD操作,在这之前呢,老魏先说一下老魏对EF的一个整体的认识, ...

  5. 调用webservice客户端方法 runtime modeler error: Wrapper class ××× is not found. Have you run APT to generate them?

    用wsimport生成webservice的客户端以后,调用客户端生成方法时总是出现 runtime modeler error: Wrapper class stardand.nrcms.nckin ...

  6. [shell基础]——整数比较;字符串比较;文件测试;逻辑测试符

    整数比较方法一:[  ] 或 [[  ]]   (1) 此方法需要使用整数比较运算符.[标注:equal 等于   greater 大于   less-then 小于] (2) 使用时一定要注意前后一 ...

  7. 基于BaseAdapter的GridView设置ImageView大小

    基于BaseAdapter的GridView设置ImageView大小 网上找了好多,都是基于SimpleAdapter的,本身在Item.xml中就对ImageView设置了id,而基于BaseAd ...

  8. 如何使用css和jquery控制文章标题字数?

    如何使用css控制文章标题字数? 最佳答案 控制文章标题字数,不是动态网页的专利,如果静态页面使用CSS样式,也可以实现相同的效果! 看这个例子,你们可以复制到记事本保存为HTML文件看效果! < ...

  9. Careercup - Microsoft面试题 - 5680049562845184

    2014-05-10 06:51 题目链接 原题: "How would you find the number of gas stations in the United States?& ...

  10. 【转】eclipse技巧2

    谈谈eclipse使用技巧二 上节说道了怎么使用eclipse使您事半功倍.这节告诉您怎么用eclipse练成火眼金睛. ①借你一双火眼金睛让类的层次结构一目了然让你阅读代码如虎添翼 一个好的类的层次 ...