Google Guava 散列工具使用详解

2023-12-05


散列

Guava 提供了一组散列(哈希)相关的工具类和方法,包括哈希函数接口、哈希算法实现、哈希码(HashCode)类、布隆过滤器(BloomFilter)等等。

Guava 提供了多种哈希函数实现,如:

  • Murmur3_32:Murmur3_32 Hash 算法,提供了较好的散列分布和快速计算的性能。
  • SipHashFunction:SipHash 算法,提供了能防止哈希碰撞的加密级别的安全性和高速计算的性能。
  • Sha256:SHA-256 哈希算法。
  • Sha512:SHA-512 哈希算法等。

哈希函数

HashFunction hashFunction = Hashing.sha256();
HashCode hashCode = hashFunction.newHasher()
        .putString("example", Charsets.UTF_8)
        .putInt(123)
        .hash();
String hexHashCode = hashCode.toString();
System.out.println("Hash code: " + hexHashCode);

哈希码

HashCode hashCode1 = Hashing.sha256().hashString("example1", Charsets.UTF_8);
HashCode hashCode2 = Hashing.sha256().hashString("example2", Charsets.UTF_8);
boolean isEqual = hashCode1.equals(hashCode2);
System.out.println("Hash codes are equal: " + isEqual);

布隆过滤器

int expectedInsertions = 1000;
double falsePositiveProbability = 0.01;
BloomFilter<String> bloomFilter = BloomFilter.create(
        Funnels.stringFunnel(Charsets.UTF_8),
        expectedInsertions,
        falsePositiveProbability
);
bloomFilter.put("example1");
bloomFilter.put("example2");
boolean mightContain = bloomFilter.mightContain("example1");
System.out.println("Might contain example1: " + mightContain);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Guava 散列工具使用详解 的相关文章

随机推荐

  • 马斯克没继续的工作,我帮他继续下去

    还记得当初自己为什么选择计算机 埃隆 马斯克的第一份工作是在加拿大开始的 17岁时 他来到加拿大 但他的寻亲不遇 为了生存 他不得不打各种零工 包括在农场中种蔬菜和打扫粮仓 以及在木材厂锅炉房烧锅炉 后来 他在加拿大读大学时 开始在彼得银行
  • 【Shell部署脚本】更换源

    bin bash 异常捕捉 set e 判断权限 id u gt 0 echo Error 无法操作 权限不够 exit 1 备份文件 cp etc apt sources list etc apt sources list bak 阿里源
  • 保护你的数据:深入了解安全测试!

    安全测试是一种非功能性测试 与功能测试不同 功能测试关注的是软件的功能是否正常工作 软件做什么 非功能测试关注的是应用程序是否被正确设计和配置 安全测试的主要目标 识别资产 需要保护的东西 如软件应用程序和计算基础设施 识别威胁和漏洞 可能
  • Unity万向节死锁解决方案(2023/12/4)

    1 万向节死锁无法解决 这是因为它的特性就是如此 就像玻璃杯就是玻璃 这不可否认 别钻牛角尖昂 2 大多数情况下欧拉角足够用 例如 CF 摄像机不可能绕z轴旋转 x轴旋转也不会超过九十度 因为那样人物的腰子会被扭断 塔防游戏 保卫萝卜 吃鸡
  • 编译报错问题汇总

    1 error undefined reference to dlsym solution target link libraries target lpthread ldl https www cnblogs com midnightca
  • termius 好用吗?

    termius 好用吗 我现在接触过的 1 xshell 第一次接触shell 需要付费 2 mobaxterm 感觉还行 需要付费 3 termius 没用过 需要付费 4 MobaXterm 支持SSH跳板 Termius是一款跨平台的
  • unity3d 自定义的图片无法放入source image中

    须将图片的texture type改为 sprite
  • Google Guava 数学工具使用详解

    文章目录 数学 数值运算 取整 范围值比较 其他 数学 在 Guava 中 数学 Math 模块提供了一些常用的数学运算功能 包括数值运算 取整 范围值比较等 下面详细介绍一些 Guava 数学运算的使用方法和示例 数值运算 In
  • 【传输线开路和短路故障】带有集总元件的非对称传输线扩频时域反射测量(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文章讲解
  • 【单载波调制方案】正交时序多路复用调制:分析和低复杂度接收机设计(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文献下载
  • 网络安全工程师必用的6个渗透工具,专业工具渗透工作更好做

    网络安全工程师必用的6个渗透工具 专业工具渗透工作更好做 渗透测试是通过模拟恶意黑客的攻击方法 来评估计算机网络系统安全的一种评估方法 同时 网络所有者根据渗透人员提供的渗透测试报告 可以清晰知晓系统中存在的安全隐患和问题 在这些过程中除了
  • 【用于OCT体积的散斑噪声降低】光学相干层析成像自适应复合散斑降噪滤波器研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文章
  • 安全测试工具,自动发现网站所有URL!

    作为一个安全测试人员来说 首先要拿到网站所有url 然后根据拿到的url进行渗透测试进行漏洞挖掘 本文给大家介绍的是如何拿到一个网站所有的url 深度爬取层级控制 现在我也找了很多测试的朋友 做了一个分享技术的交流群 共享了很多我们收集的技
  • 金融级漏洞挖掘思路总结

    金融级漏洞挖掘思路总结 总结一下思路吧 一些有意思的姿势 或许对大家都有一些帮助 入职第一天 进了渗透组 拿到了目标 此目标经过了5次漏洞挖掘 公司一堆大佬 客户要求继续往下挖 老板提出需求 必须要有一个高危 2个中危 低危不要 了解到次项
  • 搭建若依框架完成医疗项目 ——业务流程及页面展示

    目录 一 搭建若依项目 1 1 快速了解 1 1 1 技术选型 1 1 2 内置功能 1 2 环境部署 二 医疗项目业务 2 1 门诊模块 2 2 住院模块 2 3 药房药库 2 4 表设计 三 项目展示 3 1 项目背景 3 2 门诊功能
  • 推荐一款自动向hackerone发送漏洞报告的扫描器

    推荐一款自动向hackerone发送漏洞报告的扫描器 自从阿浪写了那个工具 总感觉没有web页面就是没有灵魂 然后在GitHub闲逛的时候 发现了这一款工具 用了一个多月 效果还行 可以平替 唯一的缺点就是搭建起来有些困难 需要修改文件来达
  • Google Guava 反射工具使用详解

    文章目录 反射 类操作 方法操作 字段操作 获取注解 反射 在 Guava 中 反射 Reflection 模块提供了一些用于简化反射操作的工具类和方法 通过 Guava 的反射模块 您可以方便地进行类 方法 字段的操作 获取注解信息等 下
  • Mybatis 1对1的关联映射结果集

    在MyBatis中 ResultMap 被用于详细地描述如何从数据库的结果集映射到Java对象 这对于处理复杂的SQL查询和关联表格非常有用 因为它提供了一种灵活的方式来处理数据库列和Java对象属性之间的不匹配 以及数据嵌套 Result
  • 3D Web可视化平台助力Aras开发PLM系统:提供数据访问、可视化和发布功能

    HOOPS中文网 慧都科技是HOOPS全套产品中国地区指定授权经销商 提供3D软件开发工具HOOPS售卖 试用 中文试用指导服务 中文技术支持 http techsoft3d evget com Aras是一个面向数字化工业应用的开放性平台
  • Google Guava 散列工具使用详解

    文章目录 散列 哈希函数 哈希码 布隆过滤器 散列 Guava 提供了一组散列 哈希 相关的工具类和方法 包括哈希函数接口 哈希算法实现 哈希码 HashCode 类 布隆过滤器 BloomFilter 等等 Guava 提供了多种哈希函数