當前位置:生活全書館 >

IT科技

> hashcode java

hashcode java

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java hashcode是什麼,讓我們一起了解一下?

hashCode就是物件的雜湊碼,是根據物件的某些資訊推匯出的一個整數值,預設情況下表示是物件的儲存地址。通過雜湊碼,可以提高檢索的效率,主要用於在雜湊儲存結構中快速確定物件的儲存地址,如Hashtable、hashMap中。

hashcode的作用是什麼?

1、hashCode的存在主要是用於查詢的快捷性,如Hashtable,HashMap等,hashCode是用來在雜湊儲存結構中確定物件的儲存地址的;

2、如果兩個物件相同,就是適用於equals(java.lang.Object) 方法,那麼這兩個物件的hashCode一定要相同;

java hashcode

3、如果物件的equals方法被重寫,那麼物件的hashCode也儘量重寫,並且產生hashCode使用的物件,一定要和equals方法中使用的一致,否則就會違反上面提到的第2點;

4、兩個物件的hashCode相同,並不一定表示兩個物件就相同,也就是不一定適用於equals(java.lang.Object) 方法,只能夠說明這兩個物件在雜湊儲存結構中,如Hashtable,他們“存放在同一個籃子裡”。

具體的示例如下:

public class HashTest {private int i; public int getI() {return i;} public void setI(int i) {this.i = i;} public int hashCode() {return i % 10;} public final static void main(String[] args) {HashTest a = new HashTest();HashTest b = new HashTest();a.setI(1);b.setI(1);Set set = new HashSet();set.add(a);set.add(b);System.out.println(a.hashCode() == b.hashCode());System.out.println(a.equals(b));System.out.println(set);}}

標籤: java hashcode
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/5mw2y0.html