📌  相关文章
📜  Java中的 AbstractMap.SimpleEntry hashCode() 方法及示例

📅  最后修改于: 2022-05-13 01:54:34.741000             🧑  作者: Mango

Java中的 AbstractMap.SimpleEntry hashCode() 方法及示例

AbstractMap.SimpleEntry用于维护一个键和一个值条目。可以使用 setValue 方法更改该值。此类有助于构建自定义地图实现的过程。

AbstractMap.SimpleEntryhashCode()方法返回此映射条目的哈希码值。
映射条目 e 的哈希码可以通过以下方式计算:

(e.getKey()==null   ? 0 : e.getKey().hashCode()) ^
   (e.getValue()==null ? 0 : e.getValue().hashCode())

句法:

public int hashCode()

参数:此方法不接受任何内容。

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

下面的程序说明了 hashCode() 方法:
方案一:

// Java program to demonstrate
// AbstractMap.SimpleEntry.hashCode() method
  
import java.util.*;
import java.util.AbstractMap.SimpleEntry;
  
public class GFG {
  
    @SuppressWarnings({ "unchecked", "rawtypes" })
    public static void main(String[] args)
    {
  
        // create a ArrayList of Map
        ArrayList >
            arrayList
            = new ArrayList >();
  
        // add values
        arrayList.add(new AbstractMap.SimpleEntry(0, 123));
        arrayList.add(new AbstractMap.SimpleEntry(1, 130));
        arrayList.add(new AbstractMap.SimpleEntry(2, 994));
  
        // print keys
        for (int i = 0; i < arrayList.size(); i++) {
  
            // get map from list
            AbstractMap.SimpleEntry
                map
                = arrayList.get(i);
  
            // get value from map using hashCode()
            int value = map.hashCode();
  
            System.out.println("HashCode = " + value);
        }
    }
}
输出:
HashCode = 123
HashCode = 131
HashCode = 992

方案二:

// Java program to demonstrate
// AbstractMap.SimpleEntry.hashCode() method
  
import java.util.*;
  
public class GFG {
  
    @SuppressWarnings({ "unchecked", "rawtypes" })
    public static void main(String[] args)
    {
  
        // create a ArrayList of Map
        ArrayList >
            arrayList
            = new ArrayList >();
  
        // add values
        arrayList.add(new AbstractMap
                          .SimpleEntry(" 001AB ", " Emp 1"));
        arrayList.add(new AbstractMap
                          .SimpleEntry(" 011AC ", " Emp 2"));
        arrayList.add(new AbstractMap
                          .SimpleEntry(" 111AD ", " Emp 3"));
        arrayList.add(new AbstractMap
                          .SimpleEntry(" 101BE ", " Emp 4"));
        arrayList.add(new AbstractMap
                          .SimpleEntry(" 110CE ", " Emp 5"));
  
        // print keys
        for (int i = 0; i < arrayList.size(); i++) {
  
            // get map from list
            AbstractMap.SimpleEntry
                map
                = arrayList.get(i);
  
            // get hashcode value from map using hashCode()
            int value = map.hashCode();
  
            System.out.println("hashCode = " + value);
        }
    }
}
输出:
hashCode = -873386249
hashCode = -874293612
hashCode = -910934441
hashCode = -910552137
hashCode = -910906733

参考资料: https: Java/util/AbstractMap.SimpleEntry.html#hashCode()