zoukankan      html  css  js  c++  java
  • java架构师学习路线-HashMap的知识点总结归纳

    图灵学院 java架构师学习路线

     前段时间有许多正在学习hashmap的小伙伴过来问我问题,都觉得hashmap似乎是碰到的最难的问题没有之一的那种。其实hashmap没有我们想象中的那么难,不信请看此篇关于HashMap的知识点,保证让你再次面对以前如临大敌难题的时候,自己会多一份心得体会,能够更好的地去了解其中的内涵,下面是我为大家找到的关于hashmap的几个小知识点。

    一、HashMap的四个构造函数:

    1.public HashMap(Map< ? extends K, ? extends V> m):构造一个映射关系与指定 Map 相同的新 HashMap;

    2.public HashMap(int initialCapacity):构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap;

    3.public HashMap(int initialCapacity, float loadFactor):构造一个带指定初始容量和加载因子的空 HashMap;

    4.public HashMap():构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap ;

    二、HashMap 的实例有两个参数影响其性能:初始容量和加载因子

    加载因子:是哈希表在其容量自动增加之前可以达到多满的一种尺度。它衡量的是一个散列表的空间的使用程度,负载因子越大表示散列表的装填程度越高,反之愈小。对于使用链表法的散列表来说,查找一个元素的平均时间是O(1+a),因此如果负载因子越大,对空间的利用更充分,然而后果是查找效率的降低;如果负载因子太小,那么散列表的数据将过于稀疏,对空间造成严重浪费。系统默认负载因子为0.75,一般情况下我们是无需修改的。

    容量:是哈希表中桶的数量,初始容量只是哈希表在创建时的容量,实际上就是Entry< K,V>[] table的容量。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。

    三、HashMap简介:

    HashMap 是一个散列表,它存储的内容是键值对(key-value)映射;HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口;HashMap 的实现不是同步的,这意味着它不是线程安全的,它的key、value都可以为null。

    此外,HashMap中的映射不是有序的。

    HashMap 的实例有两个参数影响其性能:初始容量和加载因子,当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。
        通常,默认加载因子是0.75,这是在时间和空间成本上寻求一种折衷。加载因子过高虽然减少了空间开销,但同时也增加了查询成本(在大多数 HashMap 类的操作中,包括 get 和 put 操作,都反映了这一点),在设置初始容量时应该考虑到映射中所需的条目数及其加载因子,以便最大限度地减少 rehash 操作次数。如果初始容量大于最大条目数除以加载因子,则不会发生 rehash 操作。

    本文关于hashmap知识点的总结归纳到这就圆满收尾啦,hashmap只是我们学习过程中要翻过的一座小山头,后面也许还会有比它更要难翻越的山,但只要我们坚信付出就会有收获这一点就行了,虽然有时候收获可能不是你那么迫切需要的,但你还是会从中学到东西,有时候这种东西是无可比拟的,没有办法用其他东西去替代它。

    尽管Java架构师学习路线已经分享给大家,但有多少人能认真的去践行,这个就难说了。互联网寒冬已经到来,作为程序员,更应在此时提高自己,有着更高远的追求。

    篇幅有限,如果需要更详细的java架构师学习路线资料可加博主qq:1993712276,或者去图灵官网查看

  • 相关阅读:
    MYSQL数据库基础
    MSYQL操数据DML
    MYSQL外键约束
    MYSQL多表查询
    MYSQL结果排序、分页查询、聚合函数
    未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项”的解决方法
    由于扩展配置问题而无法提供您请求的页面。
    JS中的prototype(转载)
    mvc表单如何绑定bool类型的属性或变量
    使用c#正则验证关键字并找出匹配项
  • 原文地址:https://www.cnblogs.com/tulingxueyuan/p/13344709.html
Copyright © 2011-2022 走看看