I don’t think hash values should be negative.

为什么不?拥有负哈希码完全有效。大多数使用哈希代码的方法自然就是负值,任何处理它们的事情都应该考虑到这一点。但是,我会考虑采用不同的方法来提供哈希码,例如

int hash = 17;

hash = hash * 31 + srcadd.hashCode();

hash = hash * 31 + dstadd.hashCode();

hash = hash * 31 + sourceport; // I'm assuming this is an int...

hash = hash * 31 + destinationport; // ditto

hash = hash * 31 + protocol.hashCode();

return hash;

不清楚这些表达式的类型是什么,但是我猜你最终将采用一个字符串的哈希码,而不是首先创建的字符串。虽然有更好的方法来获取已知域的哈希码,但上述方法可以很好地用作通用哈希生成技术。

请注意,如果您避免使用缩写,还可以使用骆驼套,例如, sourceAddress而不是srcadd。

hash值为负_java – HashCode给出负值相关推荐

  1. 灰度值为负?问题可能出在这里

    最近做机器视觉实验的时候偶尔会出现灰度值为负的情况,但总是不了了之,刚刚我正写着新的报告的时候: 没有办法,索性趁这次机会弄个明白,我的错误代码简化如下: IplImage* num;char str ...

  2. hash值为负_hashCode会出现负数吗,答案是肯定的

    先来普及一下基本数据类型的长度: unsigned   int   0-4294967295 int   -2147483648-2147483647 unsigned long 0-42949672 ...

  3. hash 值重复_程序员:判断对象是否重复,不重写equals和hashcode不行吗?

    前言 大家都知道如果要判断一个对象是否相同,都要在对象实体中重写equals和hashcode方法,那你知道为什么重写这两个方法就能根据自己定义的规则实现相等比较了吗? 今天带大家来了解一下equal ...

  4. day15:hash值、Set(hashCode(),equals())、HashSet、LinkedHashSet、TreeSet、Map(keySet,entry(get.set)、HashMap

    一 回顾 1.集合的分类:单列集合 Collection 双列集合 Map 2.Collection 四大all的方法 3.List 特点: 有序 有索引 可以重复四个带索引操作的方法 4.Array ...

  5. 同一个字符串hash值相同吗_图说:为什么Java中的字符串被定义为不可变的

    原文地址:https://dwz.cn/zWeX9Z7k 作者:Hollis 文章来源:微信公众号 字符串,想必大家最熟悉不过了,通常我们在代码中有几种方式可以创建字符串,比如:String s = ...

  6. HashMap 计算key的hash值方法hash()

    static final int hash(Object key) {int h;return (key == null) ? 0 : (h = key.hashCode()) ^ (h >&g ...

  7. 计算hash值的方法

    计算hash值的方法: 对于key的hashCode做hash操作,无符号右移16位然后做异或运算. 还有平方取中法,伪随机数法和取余数法.这三种效率都比较低.而无符号右移16位异或运算效率是最高的. ...

  8. java中hashcode_浅谈Java中的Hash值

    1.Hash值有什么用? HashMap.HashTable.HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode.HashCode是Key,这种计算为提高计算的性能. ...

  9. hash 值重复_“重复”相关的问题

    重复子串比较的核心是使用 Rabin-Karp (Rolling Hash). Rabin-Karp字符串编码的本质是对字符串进行哈希,将字符串之间的比较转化为编码之间的比较 有N个不同的字符,可以将 ...

最新文章

  1. JavaWeb_域对象的属性操作
  2. PHP的转义函数 htmlspecialchars、strip_tags、addslashes解释
  3. 获取当前横竖屏_Chrome扩展程序一键生成网页骨架屏
  4. redis-高级特性
  5. JAVA中System.out.println和System.out.print有什么区别
  6. 点个外卖搞定「软中断」
  7. Java技术:SpringBoot集成FreeMarker生成word文件
  8. Objective-C反射机制
  9. 分布式精华问答 | 秒懂分布式与集群的区别
  10. 国二C语言大题评分,计算机二级C语言题型和评分标准
  11. Ugly Number leetcode java
  12. python的基本语法while true_Python正课15 —— 流程控制之while循环
  13. C3P0数据库连接池
  14. python参考手册第四版_Python参考手册 PDF 第4版
  15. vSphere Client 连接ESXi 或者是vCenter 时虚拟机提示VMRC异常的解决办法
  16. Linux邮件服务器怎么用?
  17. Adobe Acrobat 9 Pro打印提示“你需要先安装打印机方可执行打印相关任务,例如页面设置和打印文档。”解决
  18. python多条件筛选数据并计数_Numpy | 排序、条件筛选函数、统计函数
  19. becon帧 wifi_无线路由器Beacon时槽值设置为100同500有什么区别?是不是设置越高WIFI信号的传输距离就越远越强?...
  20. 动态域名解析ipv6 群辉dnspod_使用DNSpod动态解析访问黑群晖教程

热门文章

  1. vbs按钮传递过程_哈希传递攻击仍然是一种威胁
  2. 穿越鸿蒙电视剧,电视剧大泼猴剧情介绍(1-45全集)
  3. echarts 柱状图圆柱_Echarts 柱状图配置详解
  4. c语言结构体数组存入文件_c语言怎么用文件保存和读取 结构体数组/
  5. neo4jcypher基本语句
  6. [转]Aptana Studio 3配置Python开发环境图文教程
  7. ORACLE与PostgreSql的区别
  8. 下载加载linux下用vmware-mount挂载vmdk虚拟硬盘分区
  9. EntLib 3.1学习笔记(2) : Data Access Application Block
  10. 安卓mysql插入数据_Android批量插入数据到SQLite数据库的方法