前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多大数量级会出现哈希碰撞

多大数量级会出现哈希碰撞

作者头像
CBeann
发布2023-12-25 19:32:47
1240
发布2023-12-25 19:32:47
举报
文章被收录于专栏:CBeann的博客CBeann的博客

写作目的

今天在网上看到一个有意思的问题是多大的数据量会出现哈希碰撞?我当时的想法是2的32次方,因此hascode是init类型的,哈哈。 还是可以写个demo实验一下的。真实答案是10W5K左右的量级会出现哈希碰撞

实验

实验代码

代码语言:javascript
复制
package HashCcollision;

import java.util.HashSet;
import java.util.Set;

/**
 * @author chaird
 * @create 2022-07-31 22:08
 */
public class App {![请添加图片描述](https://img-blog.csdnimg.cn/46fe066444bd429b8762056191dade0c.png)


  public static void main(String[] args) {

    Set<Integer> set = new HashSet<>();
    int hashcode = 0;

    // 10w
    int size = 11 * 10000;
    System.out.println("init :" + size);
    for (int i = 0; i < size; i++) {
      hashcode = new Object().hashCode();
      if (set.contains(hashcode)) {
        System.out.println("第" + i + "次出现了 哈希冲突");
      } else {
        set.add(hashcode);
      }
    }
      System.out.println("finish :" + set.size());
  }
}

实验结果

如下图所示, 当数量量达到10W~11W的时候会出现哈希碰撞

请添加图片描述
请添加图片描述

结论

10W5K左右的量级会出现哈希碰撞

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写作目的
  • 实验
    • 实验代码
      • 实验结果
      • 结论
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档