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使用的应该是单链存储结构,所以能够与其对应的集合对象保持一致。
java对象群体的组织:Enumeration及Iterator类的更多相关文章
- java 4对象群体的组织
两个接口 collecion接口 元素构成的元素的群体 map接口 键值对组成的群体 Array类 Vector ArrayList 在数组上构建的类 Java集合框架介绍 集成过得数据结构 查询方法 ...
- Java对象 json之间的转换(json-lib)
在这里主要简单的介绍一下,如何使用json-lib这个工具包来完成Java对象(或集合)与json对象(或集合)之间的转换~ 1. Java对象转换成json(既创建json) 关键类:JSONObj ...
- Java对象的创建及使用
Java对象的创建及使用 对象是类的具体实例(instance),是真实存在的个体:
- Json:Java对象和Json文本转换工具类
Json 是一个用于 Java 对象 和 Json 文本 相互转换的工具类. 安装 下载源码 git clone https://github.com/njdi/durian.git 编译源码 cd ...
- java提高篇(三十)-----Iterator
迭代对于我们搞Java的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. Iterator iterator = list.iterator(); while(iterator ...
- Enumeration与Iterator的对比
Enumeration与Iterator的对比 Enumeration 接口 Iterator 接口 参数的含义 枚举类型 迭代器元素类型 所在包 java.util 父类 无 子类 StringTo ...
- Java中Iterator类的详细介绍
迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节. 概述 Java集合框架的集合类,我们有时候称之为容器.容器的种类有很多种,比如ArrayList.Li ...
- [转]使用Enumeration和Iterator遍历集合类
原文地址:http://www.cnblogs.com/xwdreamer/archive/2012/05/30/2526268.html 前言 在数据库连接池分析的代码实例中,看到其中使用Enume ...
- Map以及Set的遍历(EntrySet方法,补充enumeration和Iterator的区别)
public void mearge(Map map) { Map returnMap = new HashMap<>(); // 转换为Entry Set<Map.Entry< ...
随机推荐
- 九度oj 1528 最长回文子串
原题链接:http://ac.jobdu.com/problem.php?pid=1528 小白书上的做法,不过这个还要简单些... #include<algorithm> #includ ...
- jquery绑定事件失效的情况(转)
原文地址:http://www.thinksaas.cn/group/topic/348453/ jQuery中文api地址:http://www.jquery123.com/api/ jQuery官 ...
- [整理]Selector、shape详解
Selector.shape详解(一) Selector的结构描述: <?xml version="1.0" encoding="utf-8"?> ...
- 在linux上使用yum安装JDK
1.查找java相关得列表 [qyf@localhost ~]$ yum -y list java* 执行结果 [qyf@localhost ~]$ yum -y list java* Loaded ...
- 时隔3年半Spring.NET 2.0终于正式Release了
一直很喜欢Spring.NET,不过2011年8月2日1.3.2正式release之后,再没有正式版本的release了. 直到4天前,Spring.NET 2.0 GA终于Release. http ...
- ExtJS MVC结构
概述 大型的应用在开发和运维上都存在着困难.应用功能的调整和开发人员的调动都会影响对项目的掌控.ExtJS4带来了一种新的应用结构.这种结构不止用于组织代码,也能有效的减少必要的代码量. 这次ExtJ ...
- Windows Server 2003服务器.net4.0+IIS6.0的服务器,IE11浏览器访问的不兼容性
工作中发生了一件诡异的事情: 程序在Win7+.NET4.0+IIS7.5的服务器部署,IE8和IE11请求时,响应的样式都正常. 但是在美的同事反映说,Windows Server 2003服务器. ...
- Chr()和chrb()的含义(转)
http://blog.csdn.net/cunxiyuan108/article/details/5989701 Chr(charcode) 必要的 charcode 参数是一个用来识别某字符的 L ...
- [shell基础]——uniq命令
uniq命令常见选项 去除重复行 -u 显示不重复的行 -d 显示有重复的行 -c 打印每一行重复的次数 测试文本内容如下: # cat 4.txt 11 ...
- To add private variable to this Javascript literal object
You can use number as function/variable name, the numberic name can't be accessed from parent scope, ...