什么是哈希码(HashCode)

在Java中,哈希码代表对象的特征。
例如对象 String str1 = “aa”, str1.hashCode= 3104
String str2 = “bb”, str2.hashCode= 3106
String str3 = “aa”, str3.hashCode= 3104
根据HashCode由此可得出str1!=str2,str1==str3
哈希码产生的依据:哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。也有相同的情况,看程序员如何写哈希码的算法。
下面给出几个常用的哈希码的算法。
 
1:Object类的hashCode.返回对象的内存地址经过处理后的结构,由于每个对象的内存地址都不一样,所以哈希码也不一样。
 
2:String类的hashCode.根据String类包含的字符串的内容,根据一种特殊算法返回哈希码,只要字符串内容相同,返回的哈希码也相
同。
 
3:Integer类,返回的哈希码就是Integer对象里所包含的那个整数的数值,例如Integer i1=new Integer(100),i1.hashCode的值就是100 。由此可见,2个一样大小的Integer对象,返回的哈希码也一样。

最新文章

  1. JS面向对象的程序设计
  2. json与jsonp的区别
  3. JS禁止WEB页面鼠标事件大全
  4. Linux下U盘变成只读
  5. (三)WebRTC手记之本地视频采集
  6. android中的权限(转)
  7. What Your Computer Does While You Wait
  8. Cocos2d-x 3.0标签类Label
  9. 提升资源利用率的MapReduce框架
  10. android_Activity生命周期功能
  11. js分页模板
  12. DOM对象和JQuery对象进行转换
  13. LVS实现负载均衡安装配置详解
  14. .Net Core 部署到IIS
  15. 2018.7.3 lnmp一键安装包无人值守版本 php7.2 + nginx1.14.0 + mariadb5.5 + centos7.1(1503) 环境搭建 + Thinkphp5.1.7 配置
  16. 解决运行nodejs代码Error: listen EADDRINUSE
  17. vscode 配置踩坑记
  18. 调用zabbix 分组api
  19. c#类 对象 构造函数 析构函数——面向对象
  20. f5双机配置

热门文章

  1. C#如何直接调用非托管代码
  2. AN2820 Driving bipolar stepper motors using a medium-density STM32F103xx microcontroller
  3. ElasticSearch入门 :Windows下安装ElasticSearch
  4. Mysql数据库大表归档操作
  5. Revit MEP API找到连接器连接的连接器
  6. 树莓派 Windows10 IoT Core 开发教程
  7. Spring主从数据库的配置和动态数据源切换原理
  8. xcode调试查看变量的值
  9. C#编程(二十六)----------泛型
  10. 【Elasticsearch】ES中时间查询报错:Caused by: ElasticsearchParseException[failed to parse date field [Sun Dec 31 16:00:00 UTC 2017] with format [yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis]];