布隆过滤器 java示例
时间: 2023-08-31 10:12:39 浏览: 129
当然可以提供布隆过滤器的Java示例。以下是一段基本的Java布隆过滤器示例代码:
```java
import com.google.common.hash.BloomFilter;
import com.google.common.hash.Funnels;
import java.nio.charset.Charset;
public class BloomFilterExample {
public static void main(String[] args) {
// 创建布隆过滤器,指定元素数量和误判率
BloomFilter<String> bloomFilter = BloomFilter.create(Funnels.stringFunnel(Charset.defaultCharset()), 1000000,0.01);
// 添加元素
bloomFilter.put("apple");
bloomFilter.put("banana");
bloomFilter.put("cherry");
// 判断元素是否存在
System.out.println(bloomFilter.mightContain("apple"));
System.out.println(bloomFilter.mightContain("pear"));
// 输出布隆过滤器信息
System.out.println("Expected FPP:" + bloomFilter.expectedFpp());
System.out.println("Approximate number of elements: " + bloomFilter.approximateElementCount());
}
}
```
这段代码使用了Google Guava包中提供的布隆过滤器实现,添加元素后可以判断元素是否存在,并且可以输出布隆过滤器的期望误判率和元素数量信息。
阅读全文