1.hashmap在找寻值的时候是O1的,在任何情况下都很快。适合存储大数据,多次搜索,添加
2.布隆过滤器是通过几个哈希函数%位图的长度,得到几个数字,在位图上置1,下次搜索这个数就用三个哈希算一下,看位图三个数有没有标识,有一个没有置1就代表没有这个数,都置1了就有这个数,但是因为哈希碰撞,没有的数字也可能会显示存在,所以根据样本的大小,你想要的失误率算出位图的长度,用几个哈希。这样可以极大缩小空间,但是布隆过滤器只能用于像hashSet的功能,就是检查是否存在,因为空间是用位图,所以空间极小。
布隆过滤器还能用于hdfs的功能,创建三个数组,每个数组维持一个小的布隆过滤器,那么查找一个数时,只要看看他们在哪个数组的布隆过滤器显示存在,那大概率存在,只要在存在的那几个数组里查询即可