摘要:方法的源碼代表該方法調(diào)用的是本地操作系統(tǒng)的方法類繼承了類所以可以使用類的方法方法的源碼類的哈希值類重寫類的方法重地通話重寫方法
package com.itheima.demo03.hashCode;
/*
哈希值:是一個(gè)十進(jìn)制的整數(shù),由系統(tǒng)隨機(jī)給出(就是對(duì)象的地址值,是一個(gè)邏輯地址,是模擬出來(lái)得到地址,不是數(shù)據(jù)實(shí)際存儲(chǔ)的物理地址) 在Object類有一個(gè)方法,可以獲取對(duì)象的哈希值 int hashCode() 返回該對(duì)象的哈希碼值。 hashCode方法的源碼: public native int hashCode(); native:代表該方法調(diào)用的是本地操作系統(tǒng)的方法
*/
public class Demo01HashCode {
public static void main(String[] args) { //Person類繼承了Object類,所以可以使用Object類的hashCode方法 Person p1 = new Person(); int h1 = p1.hashCode(); System.out.println(h1);//1967205423 | 1 Person p2 = new Person(); int h2 = p2.hashCode(); System.out.println(h2);//42121758 | 1 /* toString方法的源碼: return getClass().getName() + "@" + Integer.toHexString(hashCode()); */ System.out.println(p1);//com.itheima.demo03.hashCode.Person@75412c2f System.out.println(p2);//com.itheima.demo03.hashCode.Person@282ba1e System.out.println(p1==p2);//false /* String類的哈希值 String類重寫Obejct類的hashCode方法 */ String s1 = new String("abc"); String s2 = new String("abc"); System.out.println(s1.hashCode());//96354 System.out.println(s2.hashCode());//96354 System.out.println("重地".hashCode());//1179395 System.out.println("通話".hashCode());//1179395 }
}
package com.itheima.demo03.hashCode;
public class Person extends Object{
//重寫hashCode方法 @Override public int hashCode() { return 1; }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/75120.html
摘要:介紹的作用是獲取哈希碼,也稱為散列碼它實(shí)際上是返回一個(gè)整數(shù)。所以具有相索引的對(duì)象,在該散列碼位置處存在多個(gè)對(duì)象,我們必須依靠的和本身來(lái)進(jìn)行區(qū)分。 1.hashCode介紹 hashCode() 的作用是獲取哈希碼,也稱為散列碼;它實(shí)際上是返回一個(gè)int整數(shù)。這個(gè)散列碼的作用是確定該對(duì)象在散列表中的索引位置,如果有看我的上一篇文章 什么是散列表,那么這里的散列碼就相當(dāng)于上文中根據(jù)首字母查...
摘要:它也是用來(lái)判斷兩個(gè)對(duì)象是否相等,所以也得分不同的情況來(lái)說(shuō)明。什么是的作用是獲取哈希碼,也稱為散列碼它返回的一個(gè)整數(shù)。這個(gè)哈希碼的作用是確定該對(duì)象在哈希表中的索引位置。它定義在的中,這就意味著中的任何類都包含有函數(shù)。 前言 萬(wàn)丈高樓平地起,今天的聊點(diǎn)基礎(chǔ)而又經(jīng)常讓人忽視的話題,比如==與equals()區(qū)別?為何當(dāng)我們重寫完equals()后也要有必要去重寫hashcode()呢? .....
摘要:接口的特點(diǎn)接口的特點(diǎn)它是一個(gè)元素存取有序的集合。導(dǎo)致迭代器并不知道集合中的變化,容易引發(fā)數(shù)據(jù)的不確定性。枚舉已被迭代器替代。集合取出元素的方式可以采用迭代器增強(qiáng)。 01List接口的特點(diǎn) A:List接口的特點(diǎn): ?a:它是一個(gè)元素存取有序的集合。 例如,存元素的順序是11、22、33。那么集合中,元素的存儲(chǔ)就是按照11、22、33的順序完成的)。 ?b:它是一個(gè)帶有索引的...
摘要:?jiǎn)尉€程集合本部分將重點(diǎn)介紹非線程安全集合。非線程安全集合框架的最新成員是自起推出的。這是標(biāo)準(zhǔn)的單線程陣營(yíng)中唯一的有序集合。該功能能有效防止運(yùn)行時(shí)造型。檢查個(gè)集合之間不存在共同的元素?;谧匀慌判蚧蛘页黾现械淖畲蠡蜃钚≡?。 【編者按】本文作者為擁有十年金融軟件開(kāi)發(fā)經(jīng)驗(yàn)的 Mikhail Vorontsov,文章主要概覽了所有標(biāo)準(zhǔn) Java 集合類型。文章系國(guó)內(nèi) ITOM 管理平臺(tái) O...
摘要:而在集合中,值僅僅是一個(gè)對(duì)象罷了該對(duì)象對(duì)本身而言是無(wú)用的。將這篇文章作為集合的總結(jié)篇,但覺(jué)得沒(méi)什么好寫就回答一些面試題去了,找了一會(huì)面試題又覺(jué)得不夠系統(tǒng)。 前言 聲明,本文用的是jdk1.8 花了一個(gè)星期,把Java容器核心的知識(shí)過(guò)了一遍,感覺(jué)集合已經(jīng)無(wú)所畏懼了?。?哈哈哈....),現(xiàn)在來(lái)總結(jié)一下吧~~ 回顧目錄: Collection總覽 List集合就這么簡(jiǎn)單【源碼剖析】 Ma...
閱讀 2076·2021-09-22 15:29
閱讀 3419·2019-08-30 15:44
閱讀 3628·2019-08-30 15:43
閱讀 1824·2019-08-30 13:48
閱讀 1566·2019-08-29 13:56
閱讀 2560·2019-08-29 12:12
閱讀 1033·2019-08-26 11:35
閱讀 1118·2019-08-26 10:25