Enumeration接口
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枚举对象还含有元素,该方法得到对象中的下一个元素。
【例】
/*
* @(#)DemoEnumeration.java
* 演示Enumeration接口的使用
* /
import java.util.*;
class DemoEnumeration{
public static void main(String[] args){
//实例化MyDataStruct类型的对象
MyDataStruct mySataStruct=new myDataStruct();
//得到描述myDataStruct类型对象的enumeration对象
Enumeration myEnumeration =myDataStruct.getEnum();
//使用对象循环显示myDataStruct类型的对象中的每一个元素
while (myEnumeration.hasMoreElements())
System.out.println(myEnumeration.nextElement());
}
}
//MyEnumeration类实现Enumeration接口
class MyEnumerator implements Enumeration
{
int count; // 计数器
int length; //存储的数组的长度
object[] dataArray; // 存储数据数组的引用
//构造器
MyEnumeration(int count,int length,object[] dataArray){
this.count = count;
this.length= length;
this.dataArray=dataArray;
}
public boolean hasMoreElements() {
return (count< length);
}
public Object nextElement() {
return dataArray[count++];
}
}
//MyDataStruct类用于实例化一个简单的、可以提供enumeration对象
//给使用程序的数据结果对象
class MyDataSttuct
{
String[] data;
// 构造器
MyDataStruct(){
data=new String[4]
data[0] ="zero";
data[1]="one";
data[2] ="two";
data[3]="three";
}
// 返回一个enumeration对象给使用程序
Enumeration getEnum() {
return new MyEnumeration(0,data.length,data);
}
程序的运行结果为:
zero
one
two
three
分享到:
相关推荐
Access-based Enumeration(基于访问权限的枚举)是Windows操作系统中的一项功能,特别是在Windows Server 2003中引入,用于改善文件服务器的用户体验。这项功能允许用户只看到他们有权限访问的文件和文件夹,而不是...
USB枚举(USB Enumeration)是USB设备接入系统时的一个关键步骤,它允许主机识别和配置新连接的USB设备。枚举过程确保了设备能够与系统正确交互,从而实现数据传输和功能启用。 #### 枚举过程的重要性 USB枚举过程...
本文将围绕“Network Enumeration”这一主题,深入探讨其原理、实现方法以及在实际应用中的注意事项。 首先,我们需要了解网络枚举的基本概念。网络枚举是指通过特定的网络协议和技术,如NetBIOS、SNMP、LLMNR等,...
经我细心探究,终于把J2ME中的Enumeration排序问题给解决了
CP2102驱动,CP2102具有集成度高的特点,可内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM及异步串行数据总线(UART),支持调制解调器全功能信号,无需任何外部的USB器件。
`Enumeration`在Java早期版本中用于迭代容器中的元素,虽然在Java集合框架的后续版本中被迭代器(Iterator)所取代,但在处理`HashTable`时,`Enumeration`仍然是首选工具。 `HashTable`的主要特点包括线程安全(即...
NULL 博文链接:https://chaoyi.iteye.com/blog/2085158
标题中的"Mod_Serial_Port_Enumeration.zip_MOD"表明这是一个关于串行端口枚举的模块,主要用于VB6(Visual Basic 6)环境中。这个模块包含了注释清晰的源代码,帮助开发者了解和实现如何在VB6中列出和管理计算机上...
"The-PS-enumeration-process-3.2.zip_The Process_列举进程"是一个与进程管理相关的项目,其目标是通过源码实现对系统中进程的枚举,即查找并列出所有正在运行的进程。在Windows系统中,这种功能通常由任务管理器...
《SUMS55 An Introduction to Enumeration》是由Alan Camina和Barry Lewis于2011年合著的一本数学教材,主要关注的是枚举方法,这是组合数学中的一个重要分支。枚举数学研究如何精确或近似计算有限集合的元素数量,...
Here,i give a program traversing PCI Device Configuration Space,pl throw them out to me if you have any questions about rationale.
首先,几个有用的one...linux-smart-enumeration 用于渗透测试和CTFLinux枚举工具 该项目的灵感来自并使用了许多测试。 不像LINENUM, lse尝试gradualy揭露根据其重要性从一个privesc点的信息。 它是什么? 该She
Windows.Devices.Enumeration
在Java编程语言中,`Enumeration`接口和`Iterator`接口都是用于遍历集合对象的工具,但它们之间存在显著的差异。下面是关于这两个接口详细的区别分析: 1. **函数接口不同** `Enumeration`接口提供了两个方法: -...
cwe_latest 2021 common weakness enumeration.pdf
尽管 `Iterator` 在功能上比 `Enumeration` 更强大,但 `Enumeration` 仍然在某些特定场景下被使用。接下来,我们将深入探讨这两个接口,以及它们在遍历集合时的差异和应用场景。 首先,`Enumeration` 是早期Java...
linux-smart-enumeration-master.zip
ISO 29981- 2024 Milk products - Enumeration of bifidobacteria - Colony-count technique.pdf