Enumeration接口与迭代器(Iterator)

一、Enumeration接口


      1、简介

            Enumeration接口本身不是一个数据结构。但是,对其他数据结构非常重要。 Enumeration接口定义了从一个数据结构得到连续数据的手段。

      2、函数

        (1)、hasMoreElements()迭代器(Iterator)

                    测试Enumeration枚举对象中是否还含有元素,如果返回true,则表示还含有至少一个的元素

        (2)、nextElement()

                    如果Bnumeration枚举对象还含有元素,该方法得到对象中的下一个元素。

     3、应用

      1、遍历Hashtable中的元素

Hashtable<String,String> table= new Hashtable<String, String>()
	for(Enumeration<String> oEn = table.keys();oEn.hasMoreElements();)
	{
	   String sKey = (String)oEn.nextElement(); 
	   String sType = table.get(sKey);
	}

 

二、迭代器(Iterator)

      1、简介

           迭代器是一个对象,它的工作是遍历并选择序列中的对象。客户端程序员不关心序列底层的结构。此外,迭代器通常被称为“轻量级”对象:创建它的代价小。

   2、函数

     (1)、 iterator()

          要求容器返回一个 Iterator。第一次调用Iteratornext()方法时,它返回序列的第一个元素

           (2)、next()

                    获得序列中的下一个元素

     (3)、remove()

                   将迭代器新返回的元素删除,使用前必须先调用next方法

     3、应用

          (1)、遍历List

                       

List<String> myList = new ArrayList<String>();
		for(Iterator<String> iter = myList.iterator();iter.hasNext();){
			String str = (String)iter.next();
		}


          (2)、遍历Hashtable

		Map<String, Object> map = new Hashtable<String, Object>();
		//1、效率高
		Iterator<Entry<String, Object>> iter = map.entrySet().iterator();
		while(iter.hasNext()) {
			Map.Entry<String, Object> entry = (Map.Entry<String, Object>) iter.next();
			String key = entry.getKey();
			Object val = entry.getValue();
		}
//		//2、效率低
//		 Iterator<String> iter = map.keySet().iterator();
//		 while(iter.hasNext()) {
//			 String key = iter.next();
//			 Object val = map.get(key);
//		 }


 

                    
 

          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值