美文网首页
什么是hashcode

什么是hashcode

作者: 铁木真Nu1 | 来源:发表于2018-07-27 10:34 被阅读0次

当你不会写文章的时候,那你就复制一些。。。时间久了说不定就会了呢

声明:本文的内容大部分copy了参考文章的内容,如果想看原文章,请点击下面链接。本文纯属自己复习用。

参考文章:

http://www.cnblogs.com/whgk/p/6071617.html

1.什么是hash,hash值怎样生成的.

hash 翻译做“散列”,也可直译为“哈希”,就是把任意长度的值输入,通过hash()函数输出固定长度的消息摘要。 hash函数也有很多种,包括:直接取余法,乘法取整法,平方取中法,暂时先了解有这些方法即可。

hash表是啥?  hash表是由hash值组成的。

举例: hashcode有1,2,3,4,5,6,7,8个这样的位置。

2.HashCode的作用

HashCode的存在主要是为了查找的快捷性,HashCode是用来在散列存储结构中确定对象的存储地址的(用HashCode来代表对象就是在hash表中的位置).

    如:存储1000个数,存储到了900,就先遍历900是否已经被存储,要遍历900次,如果没有就存储,这样会消耗很多时间。如果用hash存储,如hash表中有1,2,3,4,5,6,7,8个这样的位置.如果已经存储了100个数,当存储hashcode为1,那么就有20个数字和他的hashcode相同,只需要跟着20个数字相比较(使用equals),如果都不相同,就存储在1的位置。通过与原始方法的对比就知道hashcode具有很大的优势。

    为什么要用equals方法呢,当查找某个对象的时候因为hash表的每个位置存储的可能不止一个值,那怎样判断当前的对象是否就是查找的对象呢,这个时候就需要用到equals方法。

3.为什么equals方法要与hashcode方法一起重写

复制上面链接的作者博文内的

String 类中的hashCode

HashMap中的hashCode()方法

相关文章

  • 什么是hashcode

    当你不会写文章的时候,那你就复制一些。。。时间久了说不定就会了呢 声明:本文的内容大部分copy了参考文章的内容,...

  • 你懂HashCode?你不懂!

    在讨论hashCode之前,我先提出几个问题,后面我会一一解答 什么是hashCode? hashCode有什么用...

  • 通过HashMap认识equals与hashcode

    什么是hashcode,hashcode的作用是什么 hashcode并不是java中独有的。设想一下,如果让你设...

  • hashcode问题

    什么是hashcode hashcode主要是用来在散列存储结构中确定对象的存储地址。通过hashcode找到数组...

  • 11.03

    a.hashCode() 有什么用?与 a.equals(b) 有什么关系?hashCode() 方法是相应对象整...

  • equals()和hashCode()

    equals()做什么的? hashCode()做什么的? equals()和hashCode()的关系? 什么时...

  • 为什么重写equal()要重写hashcode()

    为什么重写equals()要重写hashcode() 答:hashcode判断是equals判断的先决条件;所以对...

  • Java面试题-基础篇五

    41、a.hashCode() 有什么用?与 a.equals(b) 有什么关系? hashCode() 方法对应...

  • 30道初级Java面试题,Java新手必看。

    1 、a.hashCode() 有什么用?与 a.equals(b) 有什么关系? hashCode() 方法对应...

  • 散列集合的HashCode&Equals

    hashCode是什么?    hashCode是jdk根据“对象的地址”算出来的int类型的数值(注意这说的是由...

网友评论

      本文标题:什么是hashcode

      本文链接:https://www.haomeiwen.com/subject/vhsimftx.html