集合框架类中的枚举和迭代

枚举和迭代的功能是将一个集合对象中所有元素顺序列举出来,它们分别由Enumeration接口和Iterator接口所定义。Enumeration接口是在Java标准版1.0所定义的,而Iterator接口则是从Java标准版1.2开始定义的。两者既有相同之处,也有不同,但目前在Java语言中推荐使用Iterator接口来替换Enumeration接口。
下面详细介绍两者之不同:
Enumeration接口仅包含两个方法声明,其描述如下:
①public boolean hasMoreElements()
②public Object nextElement()
在实际使用中,采用nextElement()方法将一个个集合元素顺序列举出来。目前就用到的
Enumeration接口的方法仅存在于历史集合类Vector和HashTable中(所以较少使用了),如下所示:
java.util.Hashtable中的枚举方法:
①public Enumeration elements()//获得Hashtable对象中所有值的一个枚举
②public Enumeration keys()//获得Hashtable对象中所有键的一个枚举
java.util.Vector中的枚举方法:
①public Enumeration elements()//获得Vector对象中所有元素的一个枚举
示例代码如下:
public class Demo
{
public static void main(String[] args)
{
   Vector v=new Vector();
  v.add("f");
  v.add("b");
  v.add("c");
  v.add("d");
  v.add("z");
  v.add("a");
  
  Enumeration e=v.elements();
  while (e.hasMoreElements())
  {
    System.out.print(e.nextElement()+" ");
  }
}
}

从功能上看,Iterator接口提供了Enumeration接口所所有功能,除此之外,还
提供了一个remove()方法。具体描述如下:
boolean hasNext()
Object next()
void remove()
示例代码如下:
public class Demo
{
   public static void main(String[] args)
   {
    List list=new ArrayList();
  list.add("abc");
  list.add("efg");
  list.add("hij");
  list.add("klm");
  Iterator it=list.iterator();
  while(it.hasNext())
  {
    System.out.print(it.next()+" ");
  }
}
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值