国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

布隆過(guò)濾器和hashmap

2019-11-11 01:26:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

我在這里只是為了怕遺忘做一些簡(jiǎn)單的記錄

布隆表,又被稱為布隆過(guò)濾器。

應(yīng)用場(chǎng)景,當(dāng)數(shù)據(jù)量過(guò)于大時(shí),如果要去判斷一條數(shù)據(jù)在那些數(shù)據(jù)中是否存在時(shí),是很慢的。這時(shí)候,如果要使用最常見(jiàn)的equal方法。相率是很低下的。 這時(shí)候才會(huì)用上布隆表

布隆表是基于hash的。因?yàn)槠浠趆ash,所以就一定不是完全準(zhǔn)確的。 布隆表是這么進(jìn)行運(yùn)作的,先申請(qǐng)內(nèi)存,然后將記錄的數(shù)組中的值都?xì)w0。將數(shù)據(jù)的一個(gè)key值(可以是字段,id等等)經(jīng)過(guò)hash計(jì)算,放在該數(shù)組的某個(gè)位置,就講該位置的數(shù)值改為1。

當(dāng)一個(gè)布隆表建立之后,就可以判斷該值是否存在,再去服務(wù)器中去取數(shù)據(jù)。 如果在布隆表中不存在,那么一定不存在。如果在布隆表中存在, 也不一定就存在。但是這個(gè)幾率很低。

布隆表的主要應(yīng)用有:黑白名單,以及一些判斷是否存在的應(yīng)用中

順便提一下hashMap中的兩個(gè)值,因?yàn)樵谟?jì)算hash的時(shí)候,經(jīng)常會(huì)用到這兩個(gè)鬼東西。

容量(Capacity)和負(fù)載因子Load factor capactiy就是一個(gè)hashMap的大小了。而load factor是其承擔(dān)負(fù)載的比例。 如果map中的元素比例超過(guò)load factor,那么capacity自動(dòng)擴(kuò)張為原來(lái)容量的2倍

hashmap工作原理 - hashmap其實(shí)是一個(gè)由鏈表構(gòu)成的數(shù)組,每存入一個(gè)值,在計(jì)算其hashcode后存入這個(gè)數(shù)組。 - 因?yàn)椴煌琸ey的hash值是有很小的概率會(huì)相同的,這叫做沖突。這時(shí)候,就會(huì)在該位置向下鏈下去。 - 如果key的hash相同,并且在equal后發(fā)現(xiàn)也相同,那么就直接覆蓋 - hashMap在取值的時(shí)候,會(huì)先根據(jù)hash值查找,存在的話,再通過(guò)equal方法比較其key值


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泸西县| 临漳县| 樟树市| 遵义县| 泰兴市| 吴川市| 萨迦县| 安平县| 康保县| 汽车| 蓬溪县| 寿光市| 湾仔区| 抚宁县| 宣武区| 揭东县| 安国市| 安丘市| 成武县| 贵阳市| 栾城县| 怀宁县| 西平县| 崇左市| 西安市| 永登县| 新和县| 噶尔县| 泌阳县| 鸡西市| 玉屏| 台中市| 微山县| 扎鲁特旗| 汪清县| 巫山县| 岚皋县| 泰来县| 砚山县| 中西区| 宜宾市|