hashcode是什么意思?
来源:互联网 发布:欧楷笔法 知乎 编辑:程序博客网 时间:2024/04/30 11:34
用最简单的方法来说,hashcode就是一个签名。当两个对象的hashcode一样时,两个对象就有可能一样。如果不一样的话两个对象就肯定不一样。
一般用hashcode来进行比较两个东西是不是一样的,可以很容易的排除许多不一样的东西。
最常用的地方就是在一堆东西里找一个东西。先用你要找的东西的hashcode和所有东西的hashcode比较,如果不一样的话就肯定不是你要找的东西。如果一样的话就很可能是你要找的东西。然后再进行仔细的比较两个东西是不是真的一模一样。
//一个不能加重复内容的容器class Set {Object[] objs = new Object[10]; //装东西的的数组int size = 0; //已经有几个东西//添加新东西,成功的话返回true,如果已经有了的话返回falseboolean add(Object o) {for(int i=0;i<size;i++) { //搜索所有已经加进来的对象if(objs[i].hashCode() == o.hashCode()) //如果hashcode一样的话就说明两个有可能是一样的if(objs[i].equals(o)) return false; //仔细的确认一下是不是真的一样,如果一样的话就不加入这个对象}objs[size++]=o; //确认没有过这个东西,加入数组return true;}}
当使用这个类的时候要确保两个一样的东西的hashcode肯定是一样的。两个不同的东西的hashcode可以是一样的,不过这样会减慢运行速度,所以尽量避免(也就是所谓的碰撞)。
阅读全文
0 0
- hashcode是什么意思?
- $#是什么意思
- >>,<< 是什么意思?
- hashcode
- Hashcode
- hashCode()
- hashCode
- HashCode
- hashCode
- hashCode
- hashCode
- Hashcode
- hashcode
- hashcode
- HashCode
- hashcode
- hashCode
- HashCode
- luogu3383 线性筛模板
- Jetty第一次访问没有首页
- Codeforces 864D
- JZOJ5385. 【NOIP2017提高A组模拟9.23】Carry
- 【BZOJ】Tyvj 1729 文艺平衡树 Splay
- hashcode是什么意思?
- S5PV210启动过程分析
- 更改Eclipse下Tomcat的部署目录
- 帅气的汇编
- [bzoj1406][数论]密码箱
- 局部敏感哈希 LSH 介绍
- 双端队列的用法
- Leetcode算法学习日志-122 Best Time to Buy and Sell Stock II
- async in multiprocess_pool