java8 stream多欄位排序,以及空/Null欄位排序與分組
阿新 • • 發佈:2021-10-21
1.布隆過濾器實際上是很長的二進位制向量和一系列隨機對映函式
2.布隆過濾器是用於檢索一個數據是否存在於一個集合中.一般用於大資料量的情況,
比如:
-
檢查單詞拼寫正確性
-
檢測海量名單嫌疑人
-
垃圾郵件過濾
-
搜尋爬蟲URL去重
-
快取穿透過濾
3.布隆過濾器的建立:
先根據儲存資料的元素個數和誤判率算出bit陣列的長度,
然後再根據bit陣列的長度和儲存資料的元素個數算出函式的個數.
這樣就能創建出布隆過濾器了.
布隆過濾器的原理:
存資料:它會把存入的每個資料,都分別用它自己的全部函式,算出對應的整數,然後和bit陣列的長度取模(算出的整數可能會超過陣列的長度)
判斷資料是否存在:它會把資料分別用它自己的全部函式,算出對應下標,然後判斷.(有0一定不存在.全是1不一定存在)
4.優點:
- 空間佔用和查詢時間都遠超一般演算法.
- 布隆過濾器不儲存資料本身,保密性很強
缺點:
- 存在一定誤判率(判斷出存在,不一定存在)
- 刪除困難