布隆过滤器应用DEMO £神魔★判官ぃ 2022-12-29 06:54 146阅读 0赞 # 不存在的一定不存在,存在的不一定存在。 # <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>21.0</version> </dependency> public class BloomFilterDemo { private static final int insertions = 1000000; public static void main(String[] args) { //初始化一个存储string的布隆过滤器,初始大小100w 默认误判率是0.03 BloomFilter<String> bf = BloomFilter.create(Funnels.stringFunnel(UTF_8), insertions,0.01); //用于存放所有实际存在的key,判断key是否存在 Set<String> sets = new HashSet<>(); //用于存放所有实际存在的key,可以取出使用 List<String> list = new ArrayList<>(insertions); //向三个容器初始化100w个随机并且唯一的字符串 for (int i = 0; i < insertions; i++) { String uuid = UUID.randomUUID().toString(); bf.put(uuid); sets.add(uuid); list.add(uuid); } int right = 0;//正确判断的次数 int wrong = 0;//错误判断的次数 for (int i = 0; i < 10000; i++) { String data = i % 100 == 0 ? list.get(i / 100) : UUID.randomUUID().toString(); if (bf.mightContain(data)) { if (sets.contains(data)){ // 判断实际存在 right++; continue; } //布隆过滤器判断存在,但实际不存在 wrong++; } } float percent = (float)wrong / 9900; System.out.println("100个实际存在的元素,判断存在的:" + right); System.out.println("9900个实际不存在的元素,误认为存在的:" + wrong + ",误判率:" + percent); } }
相关 布隆过滤器 - Redis 布隆过滤器,Guava 布隆过滤器 BloomFilter - 代码实践 文章目录 布隆过滤器 - Redis 布隆过滤器,Guava 布隆过滤器 BloomFilter - 代码实践 1、通过guava 实现的布 ゝ一世哀愁。/ 2023年10月09日 04:22/ 0 赞/ 70 阅读
相关 布隆过滤器应用DEMO 不存在的一定不存在,存在的不一定存在。 <dependency> <groupId>com.google.guava</groupId> £神魔★判官ぃ/ 2022年12月29日 06:54/ 0 赞/ 147 阅读
相关 布隆过滤器 布隆过滤器 什么是布隆过滤器? 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的`二进制向量`和`一系列随机映射函数`。布 古城微笑少年丶/ 2022年10月15日 12:53/ 0 赞/ 245 阅读
相关 布隆过滤器 > 布隆过滤器\[1\](Bloom Filter)是由布隆在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一 r囧r小猫/ 2022年07月14日 13:15/ 0 赞/ 219 阅读
相关 布隆过滤器 布隆过滤器实际上就是哈希和位图的结合 它的优点:速度快并且节省空间 它的缺点:存在误判(比如存在不同的字符串可能存在相同的ASCII,这样我们在判断的时候就会出现误判) 末蓝、/ 2022年06月12日 22:14/ 0 赞/ 281 阅读
相关 布隆过滤器 布隆过滤器原理 布隆过滤器有什么用? 布隆过滤器是可以用于判断一个元素是不是在一个集合里,并且相比于其它的数据结构,布隆过滤器在空间和时间方面都有巨大的优势。 特 系统管理员/ 2022年03月25日 07:37/ 0 赞/ 283 阅读
相关 布隆过滤器 使用场景 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4u 缺乏、安全感/ 2022年03月01日 11:28/ 0 赞/ 300 阅读
相关 布隆过滤器 布隆过滤器介绍 > 布隆过滤器在wiki上的介绍: 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布 喜欢ヅ旅行/ 2021年12月16日 01:01/ 0 赞/ 348 阅读
相关 布隆过滤器 布隆过滤器常常被用来检测某个元素是否是巨量数据集合中的成员 1、基本原理: (1)将长度为m的位数组元素全部置为0; (2)对集合S中的某个成员a,分别用k个哈希函数对其 亦凉/ 2021年12月15日 12:59/ 0 赞/ 365 阅读
相关 布隆过滤器 布隆过滤器 前言 布隆过滤器原理 布隆过滤器优缺点 优点 缺点 使用场景 前言 Hash(散列)函数在计算机 本是古典 何须时尚/ 2021年11月04日 13:34/ 0 赞/ 414 阅读
还没有评论,来说两句吧...