首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Enumeration接口

Enumeration接口

作者头像
张哥编程
发布2024-12-19 10:25:30
发布2024-12-19 10:25:30
9700
代码可运行
举报
文章被收录于专栏:云计算linux云计算linux
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
复制
Enumeration接口本身不是一个数据结构。但是,对其他数据结构非常重要。 Enumeration接口定义了从一个数据结构得到连续数据的手段。例如,Enumeration定义了一个名为nextElement的方法,可以用来从含有多个元素的数据结构中得到的下一个元素。 
Enumeration接口提供了一套标准的方法,由于Enumeration是一个接口,它的角色局限于为数据结构提供方法协议。下面是一个使用的例子: 
//e is an object that implements the Enumeration interface
while (e.hasMoreElements()) {
    Object o= e.nextElement();
    System.out.println(o);
}
实现该接口的对象由一系列的元素组成,可以连续地调用nextElement()方法来得到 Enumeration枚举对象中的元素。Enumertion接口中仅定义了下面两个方法。 
·boolean hasMoreElemerts() 
测试Enumeration枚举对象中是否还含有元素,如果返回true,则表示还含有至少一个的元素。 
·Object nextElement() 
如果Bnumeration枚举对象还含有元素,该方法得到对象中的下一个元素。

1 Enumeration接口介绍

Enumeration接口是Iterator迭代器的“古老版本”,从JDK1.0开始,Enumeration接口就已经存在了(Iterator从JDK1.2才出现)。Enumeration 接口比Iterator小,只有两个名字很长的方法:

  • boolean hasMoreElements( ):如果此迭代器还有剩下的元素则返回true。
  • Object nextElement( ):返回该迭代器的下一个元素,如果还有的话(否则抛出异常)。

2 代码示例

Java代码

代码语言:javascript
代码运行次数:0
运行
复制
1. import java.util.*;  

public class EnumerationTest  
{  
    public static void main(String[] args)  
    {  
        Vector v = new Vector();  
        v.add("电信用户");  
        v.add("联通用户");  
        Hashtable scores = new Hashtable();  
        scores.put("线性代数" , 78);  
        scores.put("大学物理" , 88);  
        Enumeration em = v.elements();  
        while (em.hasMoreElements())  
        {  
            System.out.println(em.nextElement());  
        }  
        Enumeration keyEm = scores.keys();  
        while (keyEm.hasMoreElements())  
        {  
            Object key = keyEm.nextElement();  
            System.out.println(key + "--->"  
                + scores.get(key));  
        }  
    }  
}

3 运行结果

电信用户

联通用户

大学物理--->88

线性代数--->78

4 结果分析

上面的程序使用Enumeration迭代器来遍历Vector和Hashtable集合里的元素,其工作方式和Iterator迭代器的工作方式基本相似。但使用该迭代器时方法名更加冗长,而且Enumeration迭代器支能遍历Vector和Hashtable这种古老的集合,因此不要使用它。除非在很极端的情况下,不得不使用Enumeration,否则都应该选择Iterator迭代器。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档