Java中的IdentityHashMap hashCode()方法
在Java中,java.util.IdentityHashMap.hashCode()方法用于获取特定IdentityHashMap的哈希码值。一个map由多个桶(bucket)组成来存储键值对。每个桶都有唯一的标识符,当键值对插入到桶中时,键的哈希码与桶的标识符进行匹配,如果匹配成功,则该键值对成功地存储。这就是哈希码的工作原理。
语法:
Identity_HashMap.hashCode()
参数: 该方法不接受任何参数。
返回值: 该方法返回map的哈希码值。
以下程序用于说明java.util.IdentityHashMap.hashCode()方法的工作原理:
程序1: 将字符串值映射到整数键。
// Java code to illustrate the hashCode() method
import java.util.*;
public class Identity_Hash_Map_Demo {
public static void main(String[] args)
{
// Creating an empty IdentityHashMap
IdentityHashMap<Integer, String> identity_hash =
new IdentityHashMap<Integer, String>();
// Mapping string values to int keys
identity_hash.put(10, "Geeks");
identity_hash.put(15, "4");
identity_hash.put(20, "Geeks");
identity_hash.put(25, "Welcomes");
identity_hash.put(30, "You");
// Displaying the IdentityHashMap
System.out.println("Initial Mappings are: "
+ identity_hash);
// Getting the hashcode value for the map
System.out.println("The hashcode value of the map: "
+ identity_hash.hashCode());
}
}
Initial Mappings are: {10=Geeks, 30=You, 20=Geeks, 25=Welcomes, 15=4}
The hashcode value of the map: 2043437408
程序2: 将整数值映射到字符串键。
// Java code to illustrate the hashCode() method
import java.util.*;
public class Identity_Hash_Map_Demo {
public static void main(String[] args)
{
// Creating an empty IdentityHashMap
Map<String, Integer> identity_hash =
new IdentityHashMap<String, Integer>();
// Mapping int values to string keys
identity_hash.put("Geeks", 10);
identity_hash.put("4", 15);
identity_hash.put("Geeks", 20);
identity_hash.put("Welcomes", 25);
identity_hash.put("You", 30);
// Displaying the IdentityHashMap
System.out.println("Initial Mappings are: "
+ identity_hash);
// Getting the hashcode value for the map
System.out.println("The hashcode value of the map: "
+ identity_hash.hashCode());
}
}
Initial Mappings are: {Geeks=20, Welcomes=25, You=30, 4=15}
The hashcode value of the map: 751311572
注意: 可以使用不同的数据类型的变化和组合来执行任何类型的映射相同的操作。
极客教程