美文网首页
哈希算法(或名:散列算法)

哈希算法(或名:散列算法)

作者: 小小卒_oO_ | 来源:发表于2019-03-21 16:46 被阅读0次

文图简述HashMap中使用的哈希算法

放数据

  1. key.hasCode() 得到键的哈希值
  2. 用哈希值,计算一个下标值 index
  3. 新建 Entry 实例封装键值对数据
  4. 将 Entry 实例放入数组的 index 位置
    4.1. 空位置,直接放入 [如图]
    4.2. 不是空位置,依次用 equals() 比较每一个键是否相等
    4.2.1. 找到相等的键,覆盖原值
    4.2.2. 找不到相等的键,链表连在一起 [如图]
  5. 检查数组容量是否超过最大负载率,容量翻倍 [如图]
    4.1
    4.2.2
    5

取数据

  1. key.hasCode() 得到键的哈希值
  2. 用哈希值,计算一个下标值 index
  3. 依次用 equals() 比较每一个键是否相等
    3.1. 找到相等的键,取出对应的值
    3.2. 找不到相等的键,返回 null 值

参考:https://www.jianshu.com/p/fb4fb24ecc8f

相关文章

  • 哈希算法(或名:散列算法)

    文图简述HashMap中使用的哈希算法 放数据 key.hasCode() 得到键的哈希值 用哈希值,计算一个下标...

  • 哈希算法

    一,概念 前面涉及到散列表,散列函数,散列算法。那么和哈希算法又是什么关系,其实散列函数对应的算法就是哈希算法。 ...

  • 网络安全-哈希算法和数字签名

    1. 单向散列算法 单向散列算法也称为哈希算法,它是一种不可逆的单向数学函数,把哈希算法应用于任意长度的一块数据,...

  • 哈希算法

    什么是哈希算法 了解哈希算法需要了解以下几个概念。 散列表(hash table) 与散列函数 散列表也叫哈希表是...

  • Hash 算法

    散列算法(Hash Algorithm),又称哈希算法,杂凑算法,是从任意文件中创造小的数字[指纹]的方法。散列算...

  • 哈希算法

    哈希算法(Hash Algorithm)又称散列算法、散列函数、哈希函数,是一种从任何一种数据中创建小的数字“指纹...

  • hash 哈希查找复杂度为什么这么低?

    First of all,在众多搜索算法里,哈希算法时间最快,其时间复杂度为o(1)哈希算法,又称散列算法,能大大...

  • 从0到1学习区块链5-密码学

    区块链中主要用到了哈希算法和非对称加密。1、哈希算法(hash)哈希算法是一种数学函数算法。又叫散列算法,他是一种...

  • python中常用模块hashlib用法

    hashlib模块概念 什么是哈希算法呢? 哈希算法又称摘要算法、散列算法。它通过一个函数,把任意长度的数据转换为...

  • 【Awesome EOS】从 Hash 到 Merkle Tre

    哈希算法(Hash) 哈希算法也叫散列算法,一般来说满足这样的关系:Func(data)=key,输入任意长度的 ...

网友评论

      本文标题:哈希算法(或名:散列算法)

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