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

首頁 > 學院 > 開發設計 > 正文

布隆過濾器和hashmap

2019-11-11 00:41:00
字體:
來源:轉載
供稿:網友

我在這里只是為了怕遺忘做一些簡單的記錄

布隆表,又被稱為布隆過濾器。

應用場景,當數據量過于大時,如果要去判斷一條數據在那些數據中是否存在時,是很慢的。這時候,如果要使用最常見的equal方法。相率是很低下的。 這時候才會用上布隆表

布隆表是基于hash的。因為其基于hash,所以就一定不是完全準確的。 布隆表是這么進行運作的,先申請內存,然后將記錄的數組中的值都歸0。將數據的一個key值(可以是字段,id等等)經過hash計算,放在該數組的某個位置,就講該位置的數值改為1。

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

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

順便提一下hashMap中的兩個值,因為在計算hash的時候,經常會用到這兩個鬼東西。

容量(Capacity)和負載因子Load factor capactiy就是一個hashMap的大小了。而load factor是其承擔負載的比例。 如果map中的元素比例超過load factor,那么capacity自動擴張為原來容量的2倍

hashmap工作原理 - hashmap其實是一個由鏈表構成的數組,每存入一個值,在計算其hashcode后存入這個數組。 - 因為不同key的hash值是有很小的概率會相同的,這叫做沖突。這時候,就會在該位置向下鏈下去。 - 如果key的hash相同,并且在equal后發現也相同,那么就直接覆蓋 - hashMap在取值的時候,會先根據hash值查找,存在的話,再通過equal方法比較其key值


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大竹县| 从江县| 津南区| 北票市| 昭平县| 阿拉善左旗| 沙雅县| 诏安县| 青龙| 分宜县| 兴山县| 浪卡子县| 九龙县| 桂平市| 南昌县| 定西市| 武义县| 宜宾市| 定结县| 贵港市| 交口县| 延长县| 维西| 仙桃市| 象山县| 隆安县| 织金县| 怀安县| 阿鲁科尔沁旗| 康乐县| 麻江县| 苍山县| 襄樊市| 托克托县| 新昌县| 英吉沙县| 三门峡市| 崇礼县| 辛集市| 鄯善县| 涞水县|