问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

关于hashCode()的模拟代码

提问网友 发布时间:2022-04-23 02:47
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
2个回答
热心网友 回答时间:2022-04-26 00:52
String的hashCode的实现 (根据jdk1.6)
private hash=0;
public int hashCode() {
//hash默认0
int key= hash;
if (key == 0) {
//String的偏移值
int off = offset;
//value是这个String的char[]数组
char val[] = value;
//count是这个String的长度
int len = count;
//以下是hashCode的具体实现还是比较有意思的,不过不能保证唯一,所以还需要hash冲突
for (int i = 0; i < len; i++) {
key = 31*key + val[off++];
}
hash = key ;
}
return key ;
}
热心网友 回答时间:2022-04-26 02:10
本来array的长度固定就会发生这样的事,要实现这个功能,首先要选定适合的计算hashcode的function. Array的长度也有讲究,另外如果发生了冲突,根据Hashtable地实现,也有很多做法,常见的是在每个数组元素位置存放链表,把冲突的放到对应桶的链表上去。

建议你直接去看hashtable地实现代码,和String类型的hashcode()如何取得的。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

相关推荐
  • javascript中实现兼容JAVA的hashCode算法代码分享_基础知识

    javascript中实现兼容JAVA的hashCode算法代码分享_基础知识

    javascript中实现兼容JAVA的hashCode算法代码分享_基础知识:在java中一个hashCode算法,可以用来计算一个字符串的hash值,今天一个朋友突然问俺能不能在js中计算hashCode,要求和java的hashCode计算结果一样。 对于java的hashCode,以前到现在也一直没有了解过其算法,不过猜想应该也不会太难,于是现在java中写了
    查看详情
java 求组合写hashCode的技巧 HashCode有多大可能重复 java中equals方法和hashcode方法的问题 Java 中的hashcode到底是什么啊?怎样判断两个元素或者对象的hashcode是否就相同了 Java中HashSet类的hashCode方法如何重写,有什么作用? 请问java中重写hashcode的作用 何时才要重写hashcode 有谁知道云南彝族关于茶的故事,传说与渊源。谢谢麻烦各位 如何生成一个合适的hashcode方法 普洱茶的发明者 重写hashCode中为什么基本都是乘以31 如何正确实现Java中的hashCode方法 求普洱茶的由来。为什么叫普洱茶? Java中的HashCode问题 普洱历史,故事,传统,文化,好处 如何重写hashcode方法 关于hashcode的问题 普洱茶历史的介绍 问一个java中关于hashcode的问题 hash code是什么 hashCode重载时的疑问,prime为啥是31而不是其他 苹果手机怎么在日历上标记生日? iPhone在系统日历上怎么设置自己生日? 苹果日历怎么设置生日 苹果手机日历怎么添加生日 苹果怎么设置生日 如何让iphone的日历显示农历生日 苹果日历怎么添加生日 iphone怎么在日历中添加生日 苹果手机日历如何同步通讯录生日? 笔记本闪屏死机是什么原因 笔记本闪屏怎么处理? 笔记本屏幕闪屏怎么回事? 我梦到自己的车丢了,怎么也找不到,梦工醒后车还在,有什么征兆? 笔记本电脑屏幕突然闪烁,然后死机动不了 如何解决笔记本闪屏后死机的问题 笔记本闪屏如何解决 戴尔笔记本电脑出现闪屏是怎么回事? 笔记本电脑突然闪屏怎么回事呢 梦见在长江边等车 东芝笔记本闪屏死机
Top