首页 > 文章列表 > java中hashCode()是什么

java中hashCode()是什么

java hashCode
110 2022-08-06

1、hashCode的作用是获取哈希码,也叫散列码,实际上是返回int整数。该哈希码的作用是确定该对象在哈希表中的索引位置。

2、hashCode定义在JDK的Object类中,这就意味着Java中的任何类都包含有hashCode 函数。

实例

package com.tools;
 
import java.util.ArrayList;
 
 
public class HashCodeMeaning {
    public static void main(String[] args) {
        ArrayList list =  new ArrayList();
        int numberExist=0;
       
        //证明hashcode的值不是内存地址
        for (int i = 0; i < 10000; i++) {
            Object obj=new Object();
            if (list.contains(obj.toString())) {
                System.out.println(obj.toString() +"  exists in the list. "+ i);
                numberExist++;
            }
            else {
                list.add(obj.toString());
            }
        }
       
        System.out.println("repetition number:"+numberExist);
        System.out.println("list size:"+list.size());
       
        //证明内存地址是不同的。
        numberExist=0;
        list.clear();
        for (int i = 0; i < 10000; i++) {
            Object obj=new Object();
            if (list.contains(obj)) {
                System.out.println(obj +"  exists in the list. "+ i);
                numberExist++;
            }
            else {
                list.add(obj);
            }
        }
       
        System.out.println("repetition number:"+numberExist);
        System.out.println("list size:"+list.size());
    }
}