Java EnumMap hashCode() 方法



描述

Java EnumMap hashCode() 方法返回此映射的哈希码值。映射的哈希码被设置为映射中每个条目的哈希码之和。

声明

以下是 java.util.EnumMap.hashCode() 方法的声明

public int hashCode()

参数

返回值

此方法返回此映射的哈希码值。

异常

获取枚举、整数对的 EnumMap 的哈希码示例

以下示例演示了如何使用 Java EnumMap hashCode() 方法根据传递的键获取 EnumMap 实例的哈希码。我们创建了一个枚举 Numbers。然后创建枚举 Numbers 和 Integer 的 EnumMap。添加了一些条目并打印了 enumMap。使用 hashCode() 方法,打印 enumMap 的哈希码。

package com.tutorialspoint;

import java.util.EnumMap;

public class EnumMapDemo {
   
   // create an enum
   public enum Numbers{ONE, TWO, THREE, FOUR, FIVE}; 

   public static void main(String[] args) {
      
      EnumMap<Numbers,Integer> map = 
         new EnumMap<>(Numbers.class);

      // associate values in map
      map.put(Numbers.ONE, 1);
      map.put(Numbers.TWO, 2);
      map.put(Numbers.THREE,3);
      map.put(Numbers.FOUR, 4);

      // print the whole map
      System.out.println(map); 

      // get and print the hashcode of the map
      System.out.println(map.hashCode());
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

{ONE=1, TWO=2, THREE=3, FOUR=4}
191994402

获取枚举、字符串对的 EnumMap 的哈希码示例

以下示例演示了如何使用 Java EnumMap hashCode() 方法根据传递的键获取 EnumMap 实例的哈希码。我们创建了一个枚举 Numbers。然后创建枚举 Numbers 和字符串的 EnumMap。添加了一些条目并打印了 enumMap。使用 hashCode() 方法,打印 enumMap 的哈希码。

package com.tutorialspoint;

import java.util.EnumMap;

public class EnumMapDemo {
   
   // create an enum
   public enum Numbers{ONE, TWO, THREE, FOUR, FIVE}; 

   public static void main(String[] args) {
      
      EnumMap<Numbers,String> map = 
         new EnumMap<>(Numbers.class);

      // associate values in map
      map.put(Numbers.ONE, "1");
      map.put(Numbers.TWO, "2");
      map.put(Numbers.THREE,"3");
      map.put(Numbers.FOUR, "4");

      // print the whole map
      System.out.println(map); 

      // get and print the hashcode of the map
      System.out.println(map.hashCode());
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

{ONE=1, TWO=2, THREE=3, FOUR=4}
191994306

获取枚举、对象对的 EnumMap 的哈希码示例

以下示例演示了如何使用 Java EnumMap hashCode() 方法根据传递的键获取 EnumMap 实例的哈希码。我们创建了一个枚举 Numbers。然后创建枚举 Numbers 和 Student 对象的 EnumMap。添加了一些条目并打印了 enumMap。使用 hashCode() 方法,打印 enumMap 的哈希码。

package com.tutorialspoint;

import java.util.EnumMap;

public class EnumMapDemo {
   
   // create an enum
   public enum Numbers{ONE, TWO, THREE, FOUR, FIVE}; 

   public static void main(String[] args) {
      
      EnumMap<Numbers,Student> map = 
         new EnumMap<>(Numbers.class);

      // associate values in map
      map.put(Numbers.ONE, new Student(1, "Julie"));
      map.put(Numbers.TWO, new Student(2, "Robert"));
      map.put(Numbers.THREE,new Student(3, "Adam"));
      map.put(Numbers.FOUR, new Student(4, "Jene"));

      // print the whole map
      System.out.println(map); 

      // get and print the hashcode of the map
      System.out.println(map.hashCode()); 
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public int hashCode() {
      return rollNo + name.hashCode();
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

{ONE=[ 1, Julie ], TWO=[ 2, Robert ], THREE=[ 3, Adam ], FOUR=[ 4, Jene ]}
1565012393
java_util_enummap.htm
广告