`
cakin24
  • 浏览: 1396689 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

慎用“古老”接口Enumeration

    博客分类:
  • java
阅读更多

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迭代器。

0
0
分享到:
评论

相关推荐

    foreach及Enumeration接口

    NULL 博文链接:https://chaoyi.iteye.com/blog/2085158

    详谈Enumeration接口和Iterator接口的区别

    `Enumeration`是Java 1.0版本引入的接口,主要用于`Vector`和`Hashtable`等古老的集合类。这些类在设计时未考虑多线程安全性,但其实现的`Enumeration`在遍历时添加了同步措施。而`Iterator`是在Java 1.2中引入的,...

    如何使用RecordStore Enumeration 排序

    经我细心探究,终于把J2ME中的Enumeration排序问题给解决了

    Access-based Enumeration for sever 2003.zip

    Access-based Enumeration(基于访问权限的枚举)是Windows操作系统中的一项功能,特别是在Windows Server 2003中引入,用于改善文件服务器的用户体验。这项功能允许用户只看到他们有权限访问的文件和文件夹,而不是...

    USB枚举过程 USB Enumeration

    USB(Universal Serial Bus)即通用串行总线,是一种用于连接计算机和其他电子设备的标准接口。USB枚举(USB Enumeration)是USB设备接入系统时的一个关键步骤,它允许主机识别和配置新连接的USB设备。枚举过程确保...

    Network Enumeration .To keep me from implementing such a tas

    本文将围绕“Network Enumeration”这一主题,深入探讨其原理、实现方法以及在实际应用中的注意事项。 首先,我们需要了解网络枚举的基本概念。网络枚举是指通过特定的网络协议和技术,如NetBIOS、SNMP、LLMNR等,...

    CP210x_Windows_Drivers_with_Serial_Enumeration.zip

    CP2102驱动,CP2102具有集成度高的特点,可内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM及异步串行数据总线(UART),支持调制解调器全功能信号,无需任何外部的USB器件。

    Windows.Devices.Enumeration.dll

    Windows.Devices.Enumeration

    Java 实例 - 使用 Enumeration 遍历 HashTable源代码+详细指导教程.zip

    本教程将深入探讨如何使用`Enumeration`接口遍历`HashTable`,并提供详细的源代码实例及指导。`Enumeration`在Java早期版本中用于迭代容器中的元素,虽然在Java集合框架的后续版本中被迭代器(Iterator)所取代,但...

    使用Enumeration和Iterator遍历集合类详解

    首先,`Enumeration` 是早期Java版本(JDK 1.0)中引入的接口,主要用于遍历 `Vector`、`Hashtable` 等旧版集合类。`Enumeration` 提供了两个基本方法:`hasMoreElements()` 和 `nextElement()`,分别用于检查是否...

    PCI设备信息枚举(Enumeration)

    Here,i give a program traversing PCI Device Configuration Space,pl throw them out to me if you have any questions about rationale.

    api_打印接口参数

    在接口开放过程中,打印接口参数是一项非常重要的任务,它能够帮助开发者进行调试、排查问题以及理解接口的工作方式。本文将详细探讨"api_打印接口参数"这一主题,旨在提供一个全面的理解,包括其意义、实现方式以及...

    cwe-latest 2021 common weakness enumeration.pdf

    cwe_latest 2021 common weakness enumeration.pdf

    linux-smart-enumeration-master.zip

    linux-smart-enumeration-master.zip

    详解Java中的迭代迭代器Iterator与枚举器Enumeration

    Java中的迭代器(Iterator)与枚举器(Enumeration)是两种用于遍历集合(Collection)的接口。在Java集合框架中,集合提供了多种数据结构存储对象,而迭代器与枚举器提供了访问这些集合中元素的方法。尽管它们的...

    linux-smart-enumeration:Linux枚举工具,用于具有详细级别的渗透测试和CTF

    首先,几个有用的one...linux-smart-enumeration 用于渗透测试和CTFLinux枚举工具 该项目的灵感来自并使用了许多测试。 不像LINENUM, lse尝试gradualy揭露根据其重要性从一个privesc点的信息。 它是什么? 该She

    java讲解scjp

    Enumeration 接口是 Java 中的一种古老的迭代输出方法,它定义了可以对一个对象的类集中的元素进行枚举(一次获得一个)的方法。这个接口尽管没有被摈弃,但已经被 Iterator(迭代器)所替代。Enumeration 对新程序...

    Mod_Serial_Port_Enumeration.zip_MOD

    枚举串行端口是程序中的一项重要功能,它允许开发者动态获取系统中所有可用的串行接口,以便于连接和配置这些设备。 描述中提到的"VB6 commented source code module"暗示了这个模块包含了一个带有注释的源代码文件...

    The-PS-enumeration-process-3.2.zip_The Process_列举进程

    2. **编程接口**:在Windows API中,可以使用`CreateToolhelp32Snapshot`函数获取系统的进程快照,然后用`Process32First`和`Process32Next`函数遍历这些快照,获取每个进程的详细信息。在Linux系统中,可以读取`/...

Global site tag (gtag.js) - Google Analytics