`
- 浏览:
46101 次
- 性别:
- 来自:
成都
-
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枚举对象还含有元素,该方法得到对象中的下一个元素。
【例】
package ch16;
import java.util.*;
class DemoEnumeration{
public static void main(String[] args){
//实例化MyDataStruct类型的对象
MyDataStruct mds=new MyDataStruct();
//得到描述myDataStruct类型对象的enumeration对象
Enumeration men =mds.getEnum();
//使用对象循环显示myDataStruct类型的对象中的每一个元素
while (men.hasMoreElements())
System.out.println(men.nextElement());
}
}
//MyEnumeration类实现Enumeration接口
class MyEnumeration 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 MyDataStruct
{
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
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Iterator与Enumeration分别是实现迭代器和枚举器类的接口,下面就带大家来详解Java中的迭代迭代器Iterator与枚举器Enumeration,以及它们之间的区别.
Java 集合概述 Collection 接口 Iterator 接口 Set List Map Collections 工具类 Enumeration
031309_【第13章:Java类集】_foreach及Enumeration接口笔记.pdf 031310_【第13章:Java类集】_Map接口笔记.pdf 031311_【第13章:Java类集】_Map接口使用的注意事项笔记.pdf 031312_【第13章:Java类集】_...
Java类集框架 最大单值操作父接口Collection及其子接口、子类: List接口、ArrayList类、Vector类、栈操作类Stack、链表操作类LinkList、队列操作接口Queue、Set接口、HashSet类、TreeSet类、SortedSet接口 双值操作...
在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties) 以上这些类是传统遗留的,在Java2...
Enumeration 和 Iterator 接口的区别? 8. 为何没有像 Iterator.add()这样的方法,向集合中添加元素? 9. 为何迭代器没有一个方法可以直接获取下一个元素,而不需要 移动游标? 10. Iterater 和 ListIterator ...
7.9 烦琐的接口:Enumeration 289 7.10 本章小结 290 本章练习 290 第8章 泛型 291 8.1 泛型入门 292 8.1.1 编译时不检查类型的异常 292 8.1.2 手动实现编译时检查类型 293 8.1.3 使用泛型 294 8.2 深入泛型...
Java 集合概述 Collection 接口 Iterator 接口 Set List Map Collections 工具类 Enumeration
9.5 Enumeration接口 144 9.6 巩固练习 145 第10章 内隐类(inner class) 146 10.1 静态类(static class) 146 10.2 成员类(member class) 147 10.3 局部类(local class) 150 10.4 匿名类(anonymous ...
在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties) 以上这些类是传统遗留的,在Java2中...
實踐39:不要使用Enumeration或Iterator來遍歷Vector 135 實踐40:使用System.arraycopy()來複製arrays 136 實踐41:優先使用array,然後才考慮Vector和ArrayList 138 實踐42:儘可能復用(reuse)對象 141 實踐43:...
11.4.1Enumeration接口简介366 11.4.2向量类(Vector)使用示例367 11.4.3栈(Stack)使用示例369 11.4.4字典(Dictionary)简介370 11.4.5哈希表(Hashtable)简介371 11.5本章小结371 第12章类型包装器、...
emmmm大致可以看出,上面有三巨头,即Iterator、Collection、Map(虚线框是接口,实线框是类),Java的集合类主要就是由Collection和Map两个接口派生而出,而Iterator主要起的是遍历器的作用。 先说Collection ...
java图书馆swing源码oea.svg 更新时间:2016 ...接口的操作与编写图形应用程序分离。 该包为 JavaScript 开发人员提供了更高级别的抽象,以便独立于 DOM API 操作图形。 它还提供绘制复杂的二维形状、处理字
为 .girs 中的<enumeration>和元素生成枚举 使用元素生成包名 为不透明结构创建空接口 为带有字段的和元素创建类 跟踪 .gir 文件中定义的类型,并解析对它们的引用 在某种程度上处理数组类型 读取静态映射列表 保留...
支持所有主要的集合框架接口(Enumeration,ListIterator,Map,Set,SortedSet,Queue,Deque等)。 占地面积小,设备齐全,没有传递依赖项-不属于大型整体软件包。 动机 小时候,是我绝对的最爱。我和他们一起玩了...
只有结构符合所引用的DTD文件的XML文件才能称之为有效的XML文件。 DTD(文档类型定义) !DOCTYPE 定义DTD文件名 !ELEMENT 定义元素中可用的数据类型 #PCDATA 可解析字符串。 1)DTD的调用 方式一:调用内部文档类型...