java对象群体的组织:Enumeration及Iterator类

java对象群体的组织:Enumeration及Iterator类

时间:2011-04-05

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

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值