當前位置:編程學習大全網 - 源碼下載 - hashcode是什麽意思

hashcode是什麽意思

用最簡單的方法來說,hashcode就是壹個簽名。當兩個對象的hashcode壹樣時,兩個對象就有可能壹樣。如果不壹樣的話兩個對象就肯定不壹樣。

壹般用hashcode來進行比較兩個東西是不是壹樣的,可以很容易的排除許多不壹樣的東西。

最常用的地方就是在壹堆東西裏找壹個東西。先用妳要找的東西的hashcode和所有東西的hashcode比較,如果不壹樣的話就肯定不是妳要找的東西。如果壹樣的話就很可能是妳要找的東西。然後再進行仔細的比較兩個東西是不是真的壹模壹樣。

//壹個不能加重復內容的容器

class Set {

Object[] objs = new Object[10]; //裝東西的的數組

int size = 0; //已經有幾個東西

//添加新東西,成功的話返回true,如果已經有了的話返回false

boolean add(Object o) {

for(int i=0;i<size;i++) { //搜索所有已經加進來的對象

if(objs[i].hashCode() == o.hashCode()) //如果hashcode壹樣的話就說明兩個有可能是壹樣的

if(objs[i].equals(o)) return false; //仔細的確認壹下是不是真的壹樣,如果壹樣的話就不加入這個對象

}

objs[size++]=o; //確認沒有過這個東西,加入數組

return true;

}

}

當使用這個類的時候要確保兩個壹樣的東西的hashcode肯定是壹樣的。兩個不同的東西的hashcode可以是壹樣的,不過這樣會減慢運行速度,所以盡量避免(也就是所謂的碰撞)。

  • 上一篇:薛蠻子在區塊鏈投資上是怎麽看的?
  • 下一篇:拉卡拉2021年報三大看點:數字人民幣、門店數字化經營、區塊鏈服務
  • copyright 2024編程學習大全網