zoukankan      html  css  js  c++  java
  • 023 说一下HashMap的实现原理?

    说一下HashMap的实现原理?(已更新)

    答:

    • HashSet 是以Hash表结构存储

    • 可以存null键、null值

    • HashMap 储存的是Jdk中提供的类型的键,可以保证唯一性;HashMap 储存的是自定义的键,无法保证唯一性(哈希冲突),见以下:

    • 一般子类需要用到HashCode方法,并且进行重写。

    例:String重写HashCode方法,只要是数据内容一样,返回的hashCode值就是一样("abc");如果数据不一样,但是hashCode值一样,则表示 hash 冲突("通话")。


     

    Hash表结构:

    存储

    Jdk1.8前 数组+链表

    Jdk1.8前 数组+链表/红黑树

    释义:

    数组:元素分类(当HashCode值相同的时候,分在数组的同一类)

    链表:对数组一类中的数据进行连接,初始值为16

    红黑树:当数组中挂载的数据在8个或以上时,后面的链表转成红黑树(查询效率高)

  • 相关阅读:
    SVG:中国地图
    网页编程工具:EditPlus
    js插件
    html: 仿制soundmanager2右上角面板
    代码:页面布局(含图片列表布局)
    写着玩: 图片 圆盘
    表格
    按钮
    插件:左侧下拉菜单
    颜色
  • 原文地址:https://www.cnblogs.com/ynzj123/p/12689289.html
Copyright © 2011-2022 走看看