摘要: 软件编程的过程中,会出现判断某一个元素x是否在集合A中的需求,如果使用容器存储集合A中所有元素,然后依次循环取出与x进行对比,那么即浪费空间,计算效率也比较低,在大数据时代更是如此。通常做法是提供一套映射机制,根据该问题的值域,映射到整数域,每一个整数唯一表示问题域的值。那么上述问题就可以变换为判断一个整数是否在其整数域存在了,Java中每个对象都提供了HashCode,我们可以使用HashTable来进行存储,并快速查找。但这样还有一个问题,就是Hash的空间使用,一份数据需要两倍以上的空间。布隆算法就是一个占用空间更小的解决方案。 阅读全文