1 Enumeration接口介绍
Enumeration接口是Iterator迭代器的“古老版本”,从JDK1.0开始,Enumeration接口就已经存在了(Iterator从JDK1.2才出现)。Enumeration 接口比Iterator小,只有两个名字很长的方法:
- boolean hasMoreElements( ):如果此迭代器还有剩下的元素则返回true。
- Object nextElement( ):返回该迭代器的下一个元素,如果还有的话(否则抛出异常)。
2 代码示例
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迭代器。
相关推荐
NULL 博文链接:https://chaoyi.iteye.com/blog/2085158
`Enumeration`是Java 1.0版本引入的接口,主要用于`Vector`和`Hashtable`等古老的集合类。这些类在设计时未考虑多线程安全性,但其实现的`Enumeration`在遍历时添加了同步措施。而`Iterator`是在Java 1.2中引入的,...
经我细心探究,终于把J2ME中的Enumeration排序问题给解决了
Access-based Enumeration(基于访问权限的枚举)是Windows操作系统中的一项功能,特别是在Windows Server 2003中引入,用于改善文件服务器的用户体验。这项功能允许用户只看到他们有权限访问的文件和文件夹,而不是...
USB(Universal Serial Bus)即通用串行总线,是一种用于连接计算机和其他电子设备的标准接口。USB枚举(USB Enumeration)是USB设备接入系统时的一个关键步骤,它允许主机识别和配置新连接的USB设备。枚举过程确保...
本文将围绕“Network Enumeration”这一主题,深入探讨其原理、实现方法以及在实际应用中的注意事项。 首先,我们需要了解网络枚举的基本概念。网络枚举是指通过特定的网络协议和技术,如NetBIOS、SNMP、LLMNR等,...
Windows.Devices.Enumeration
本教程将深入探讨如何使用`Enumeration`接口遍历`HashTable`,并提供详细的源代码实例及指导。`Enumeration`在Java早期版本中用于迭代容器中的元素,虽然在Java集合框架的后续版本中被迭代器(Iterator)所取代,但...
首先,`Enumeration` 是早期Java版本(JDK 1.0)中引入的接口,主要用于遍历 `Vector`、`Hashtable` 等旧版集合类。`Enumeration` 提供了两个基本方法:`hasMoreElements()` 和 `nextElement()`,分别用于检查是否...
Here,i give a program traversing PCI Device Configuration Space,pl throw them out to me if you have any questions about rationale.
CP2102驱动,CP2102具有集成度高的特点,可内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM及异步串行数据总线(UART),支持调制解调器全功能信号,无需任何外部的USB器件。
在接口开放过程中,打印接口参数是一项非常重要的任务,它能够帮助开发者进行调试、排查问题以及理解接口的工作方式。本文将详细探讨"api_打印接口参数"这一主题,旨在提供一个全面的理解,包括其意义、实现方式以及...
cwe_latest 2021 common weakness enumeration.pdf
linux-smart-enumeration-master.zip
Java中的迭代器(Iterator)与枚举器(Enumeration)是两种用于遍历集合(Collection)的接口。在Java集合框架中,集合提供了多种数据结构存储对象,而迭代器与枚举器提供了访问这些集合中元素的方法。尽管它们的...
首先,几个有用的one...linux-smart-enumeration 用于渗透测试和CTFLinux枚举工具 该项目的灵感来自并使用了许多测试。 不像LINENUM, lse尝试gradualy揭露根据其重要性从一个privesc点的信息。 它是什么? 该She
Enumeration 接口是 Java 中的一种古老的迭代输出方法,它定义了可以对一个对象的类集中的元素进行枚举(一次获得一个)的方法。这个接口尽管没有被摈弃,但已经被 Iterator(迭代器)所替代。Enumeration 对新程序...
枚举串行端口是程序中的一项重要功能,它允许开发者动态获取系统中所有可用的串行接口,以便于连接和配置这些设备。 描述中提到的"VB6 commented source code module"暗示了这个模块包含了一个带有注释的源代码文件...