卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

哈希加密算法原理 哈希值是什么,又有什么的應(yīng)用?

哈希值是什么,又有什么的應(yīng)用?哈希碼是從任何對(duì)象生成的數(shù)字。這是允許在哈希表中快速存儲(chǔ)/檢索對(duì)象的方法。想象一下下面的例子:在你面前的桌子上,有九個(gè)盒子,每個(gè)盒子上都標(biāo)有1到9的數(shù)字。這些盒子里也有很

哈希值是什么,又有什么的應(yīng)用?

哈希碼是從任何對(duì)象生成的數(shù)字。這是允許在哈希表中快速存儲(chǔ)/檢索對(duì)象的方法。

想象一下下面的例子:

在你面前的桌子上,有九個(gè)盒子,每個(gè)盒子上都標(biāo)有1到9的數(shù)字。這些盒子里也有很多不同的東西,但是一旦它們到了,你就需要盡快找到它們。

您需要的是一種方法,可以立即決定將每個(gè)對(duì)象放入哪個(gè)框中。你決定找到卷心菜,找出它在哪個(gè)盒子里,然后直接去那個(gè)盒子。

現(xiàn)在假設(shè)您不想索引,您希望能夠立即找到對(duì)象所在的框。

在本例中,我們使用一個(gè)非常簡(jiǎn)單的方法來完成此任務(wù)—對(duì)象名稱中的字母數(shù)。所以卷心菜去7號(hào)包廂,豌豆去3號(hào)包廂,火箭去6號(hào)包廂,班卓琴去5號(hào)包廂,依此類推。犀牛呢?它有10個(gè)字符,所以讓我們稍微改變一下我們的算法,然后“換行”,這樣10個(gè)字母對(duì)象被放置在框1中,11個(gè)字母被放置在框2中,依此類推。這應(yīng)該包括任何物體。

有時(shí)盒子里有不止一個(gè)物體,但如果你要找火箭,它比花生和火箭快得多,而不是檢查一整棵卷心菜、豌豆、班卓琴和犀牛。

這是一個(gè)哈希代碼。從一個(gè)對(duì)象中獲取一個(gè)數(shù)字的一種方法,它可以存儲(chǔ)在一個(gè)哈希表中。在Java中,哈希代碼可以是任意整數(shù),每個(gè)對(duì)象類型負(fù)責(zé)生成自己的哈希代碼。有關(guān)詳細(xì)信息,請(qǐng)參見object的“hashcode”方法。

Java對(duì)象的哈希代碼只是一個(gè)數(shù)字。它是一個(gè)32位有符號(hào)整數(shù),允許對(duì)象由基于哈希的數(shù)據(jù)結(jié)構(gòu)管理。我們知道散列碼是JVM分配給對(duì)象的唯一ID號(hào)。但實(shí)際上,哈希碼并不是對(duì)象的唯一數(shù)字。如果兩個(gè)對(duì)象相等,它們應(yīng)該返回相同的哈希代碼。因此,我們必須以這種方式實(shí)現(xiàn)類的hashcode()方法。如果兩個(gè)對(duì)象相等,也就是說,它們由類的equals()方法進(jìn)行比較,那么這兩個(gè)對(duì)象必須返回相同的哈希代碼。