zoukankan      html  css  js  c++  java
  • 彻底来理解下hashmap吧

    1.什么叫hashmap?

    答:首先是一种map集合,其次呢,它是一种利用hash表来存储的数据结构。所以叫hashmap.

    2.hashmap的特点是什么?

    答:hashmap的特点是key值不能重复,否则根据key,可以读取到多个对应的value了啊。

    3.那么怎么保证map的key不能重复呢?

    答:很简单,利用hashcode值是每个对象的一种状态这个属性来区分每个一个对象就行了嘛。

    hashcode值是每个对象的一种状态值。

    利用hash算法来计算得出的一种码值,hash算法要传入参数,这个传入的不同参数,决定了hashcode值得最终结果啊。

    比如,string,Integer这种封装类,已经重写了hashcode()这个方法,指定了利用string/integer具体的内容来进行hashcode算法传参。

    所以string值一样,那么这几个string对象的hashcode值夜一样。

    这就可以将string作为map的key啊,保证了key不重复。因为hashmap,底层实现原理是判断传入key的hashcode值来防止重复对象的。

    4.而普通Object类,默认的计算hacode值得方法hashcode()默认将对象的内存地址传参,进行hashcode值计算的。每个对象的内存地址当然都不一样啊,所以hasshcode也都不一样。即使内容相同的两个对象,由于内存地址不一样,而默认的hashcode()方法是计算内存地址传参的,也造成 了,依然可以放入hashmap中。

  • 相关阅读:
    C#定时执行任务
    C#判断数据库是否可连接(PING)
    Excel之导入数据
    JQuery之杂项方法$.grep()
    .Net EF 之代码生成策略
    平台与WeLink深度融合技术汇总
    Host is not allowed to connect to this MySQL
    excel中过长的数字怎么筛选重复项
    oracle 函数大全
    WinXP添加TLS1.1、TLS1.2支持
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6127695.html
Copyright © 2011-2022 走看看