Ang
HashCode equality ay hindi nangangahulugan na ang equals ay nagbabalik ng true. Ang kontrata ay ang dalawang object na pantay ay dapat magkaroon ng parehong hashCode. Ngunit HINDI nito isinasaad na ang dalawang object na may parehong HashCode ay dapat na pantay.
Katumbas ba ng paraan ang paggamit ng hashCode?
Kapag pinag-uusapan natin ang equals method ang pangunahing layunin ay upang paghambingin ang estado ng dalawang bagay o ang nilalaman ng object.
Katumbas ba ng paggamit ng hashCode C?
Ito ay dahil ang framework ay nangangailangan na ang dalawang bagay na magkapareho ay dapat magkaroon ng parehong hashcode. Kung i-override mo ang equals method para gumawa ng espesyal na paghahambing ng dalawang object at ang dalawang object ay ituturing na pareho ng method, dapat pareho din ang hash code ng dalawang object.
Para saan ang hashCode at mga katumbas na ginamit?
Ibinabalik ng paraan ng hashcode ang ang parehong halaga ng hash kapag tinawag sa dalawang bagay, na pantay ayon sa paraan ng equals. At kung ang mga bagay ay hindi pantay, karaniwan itong nagbabalik ng iba't ibang mga hash value.
Gumagamit ba ang HashMap ng hashCode o katumbas?
Maaari mong i-override ito sa iyong klase para makapagbigay ng sarili mong pagpapatupad. Ang HashMap ay gumagamit ng katumbas upang ihambing ang susi kung ang mga ito ay pantay o hindi. Kung ang equals method ay nagbabalik ng true, sila ay pantay kung hindi man ay hindi pantay. Ang isang bucket ay maaaring magkaroon ng higit sa isang node, depende ito sa paraan ng hashCode.