package com.xiaoleilu.hutool.bloomFilter; /** * Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员。<br> * 如果检测结果为是,该元素不一定在集合中;但如果检测结果为否,该元素一定不在集合中。<br> * 因此Bloom filter具有100%的召回率。这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况。<br> * @author Looly * */ public interface BloomFilter { /** * * @param str 字符串 * @return 判断一个字符串是否bitMap中存在 */ public boolean contains(String str); /** * 在boolean的bitMap中增加一个字符串<br> * 如果存在就返回<code>false<code> .如果不存在.先增加这个字符串.再返回<code>true<code> * @param str 字符串 * @return 是否加入成功,如果存在就返回<code>false<code> .如果不存在返回<code>true<code> */ public boolean add(String str); }