如何使用枚举显示 Java 中的哈希表元素?

javaobject oriented programmingprogramming更新于 2024/11/13 0:12:17

哈希表是 Java 中功能强大的数据结构,允许程序员以键值对的形式存储和组织数据。许多应用程序需要从哈希表中检索和显示条目。

在哈希表中,任何非空对象都可以用作键或值。但是,为了成功存储和检索哈希表中的项目,用作键的对象必须同时实现equals() 方法和hashCode() 方法。这些实现确保正确处理键比较和散列,从而实现 Hashtable 内数据的高效管理和检索。

通过使用 Hashtable 中的 keys() 和 elements() 方法,我们可以访问包含键和值的 Enumeration 对象。

通过使用 hasMoreElements() 和 nextElement() 等枚举方法,我们可以有效地检索链接到 Hashtable 的所有键和值,并将它们作为枚举对象获取。这种方法允许无缝遍历和提取​​ Hashtable 中的数据。

使用枚举的优点:

  • 效率:在使用 Hashtable 等旧式集合类时,枚举轻量且高效,因为它不依赖于迭代器。

  • 线程安全:与迭代器不同,枚举是一个只读接口,这使其成为线程安全的,是多线程情况下的不错选择。

现在让我们看几个例子,了解如何使用枚举从 Hashtable 中获取元素

示例 1

import java.io.*;
import java.util.Enumeration;
import java.util.Hashtable;


public class App {
   public static void main(String[] args)
   {
        // 我们首先创建一个空的哈希表
        Hashtable<Integer, String> empInfo
        = new Hashtable<Integer, String>();
        
        // 现在我们将员工数据插入哈希表
        //其中 empId 将充当键,name 将作为值
        empInfo.put(87, "Hari");
        empInfo.put(84, "Vamsi");
        empInfo.put(72, "Rohith");
        
        // 现在让我们创建枚举对象
        //获取元素,即员工姓名
        Enumeration<String> empNames = empInfo.elements();
        
        System.out.println("Employee Names");
        System.out.println("==============");
        // 现在我们将使用 hasMoreElements() 方法打印所有员工姓名
      while (empNames.hasMoreElements()) {
         System.out.println(empNames.nextElement());
      }
   }
}

输出

Employee Names
==============
Hari
Vamsi
Rohith

在前面的例子中,我们刚刚显示了员工的姓名,现在我们将显示 ID 和员工姓名。

示例 2

import java.io.*;
import java.util.Enumeration;
import java.util.Hashtable;


public class App {
   public static void main(String[] args)
   {
        // 我们首先创建一个空的哈希表
        Hashtable<Integer, String> empInfo
        = new Hashtable<Integer, String>();
        
        // 现在我们将员工数据插入哈希表
        //其中 empId 将充当键,name 将是值
        empInfo.put(87, "Hari");
        empInfo.put(84, "Vamsi");
        empInfo.put(72, "Rohith");
        
        // 现在让我们创建枚举对象
        // 存储键
        
        Enumeration<Integer> empIDs = empInfo.keys();
        
        System.out.println("EmpId" + " \t"+ "EmpName");
        System.out.println("================");
        // 现在我们将打印所有员工详细信息
        // 其中键是 empId,借助 get() 我们将获得相应的
        // 值将是 empName
        while (empIDs.hasMoreElements()) {
         int key = empIDs.nextElement();
         System.out.println( " "+ key + "  \t" + empInfo.get(key));
      }
   }
}

输出

EmpId   EmpName
================
 87    Hari
 84    Vamsi
 72    Rohith

结论

在本文中,我们讨论了 Hashtable 和枚举的概念及其优点,我们还通过几个示例了解了如何使用枚举从 Hashtable 中获取元素。


相关文章


有用资源