Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >计算哈希码,使其位于特定的值范围内?

计算哈希码,使其位于特定的值范围内?
EN

Stack Overflow用户
提问于 2020-05-10 15:08:31
回答 1查看 41关注 0票数 0

我有一个函数,看起来像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public int getHashcode(int shardCount){

    String personid = "<some long string value>";
    String servicedate = "2019-12-22T01:31:30.000Z";
    HashCodeBuilder hashCodeBuilder = new HashCodeBuilder();
    return hashCodeBuilder.append(personid).append(servicedate).toHashCode() % shardCount;

//the shard count key comes in from a config file and has various values
// like 2,5,15,25 etc depending on some criteria
}

现在的要求是,我希望这个方法返回哈希码,使其在0-10的范围内,并且不应该超过10。根据我的说法,最简单的方法是在返回值之前添加一个条件检查,然后根据我的意愿返回一个随机值,但这是一个最优的解决方案吗,或者我应该放一个固定的"shardCount“值来实现结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-10 15:11:29

最简单的方法是返回除以10后的余数。

替换

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return hashCodeBuilder.append(personid).append(servicedate).toHashCode() % shardCount;

使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return (hashCodeBuilder.append(personid).append(servicedate).toHashCode() % shardCount) % 10;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61714168

复制
相关文章
Downie 4 4.6.2最新版
Downie for Mac是一款Mac平台上最好用的视频下载工具,轻松从数千个不同的网站下载视频。支持youtube等主流网站视频,最大的特点最是支持网站多且可以多点同时下载,只需粘贴网址链接到软件界面即可自动下载,超级快速简单!
用户10121095
2022/11/22
5580
快速上手JHipster (Java Hipster)创建应用
JHipster简单来看是一个代码生成器,能够快速创建基于Spring Boot + AngularJS的应用程序。所以这就要求对Spring、Spring Boot要有所了解。 JHipster使用Node.js和Yeoman产生Java应用代码,使用Maven或者Gradle运行产生的代码
Bobby
2018/04/13
7.2K2
快速上手JHipster (Java Hipster)创建应用
.NET 4.6.2正式发布带来众多特性
虽然大多数人的注意力都集中在.NET Core上,但与原来的.NET Framework相关的工作还在继续。.NET Framework 4.6.2正式版已于近日发布,其重点是安全和WinForms/WPF/ASP.NET/WCF相关的特性, 微软的Stacey Haffner介绍了有关该版本的详细信息。他还提供了一个4.6.2版本的完整变化列表以及API变化比较。微软已经提供了Web安装包、离线安装包和开发者包。那些运行Windows 10并进行了周年更新的开发人员,其系统上已经安装了4.6.2版本。 
张善友
2018/01/29
1.2K0
Swoole v4.6.2 版本发布,Bug 修复版本
新增了 Coroutine\Socket->recvLine() 和 Coroutine\Socket->readWithBuffer() 方法
沈唁
2021/02/04
4370
安卓应用安全指南 4.6.2 处理文件 规则书
如“4.6 处理文件”和“4.6.1.3 使用公共读/写文件”所述,无论要存储的信息的内容如何,原则上都应该将文件设置为私有。 从 Android 安全角度来看,交换信息及其访问控制应该在 Android 系统中完成,如内容供应器和服务,并且如果存在不可能的因素,则应该考虑由文件访问权限作为替代方法。
ApacheCN_飞龙
2022/12/01
4560
Jhipster Registry(Eureka Server) Docker双向联通与高可用部署
构建Image并push到registry,这里是192.168.86.8:5000/registry-dev
JadePeng
2018/07/30
1.1K0
[C#]使用ILMerge将源DLL合并到目标EXE(.NET4.6.2)
本文主要介绍如何使用ILMerge将多个程序集合并为一个程序集。通过使用ILMerge,我们可以将多个程序集合并成一个程序集,从而简化开发过程,减少重复代码,提高代码重用性,便于维护。
CNXY
2017/12/25
3.6K0
[C#]使用ILMerge将源DLL合并到目标EXE(.NET4.6.2)
点击加载更多

相似问题

基于JHipster的微前端架构

12

将JHipster项目从v4.6.1升级到4.6.2失败

10

JHipster微服务CORS

133

JHipster微服务实体

115

jhipster网关和微服务

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文