Map和HashMap

作者: surrealtire | 来源:发表于2020-02-23 20:49 被阅读0次

    Map是用来存储“键(key)-值(value) 对”的。

    HashMap采用哈希算法实现,是Map接口最常用的实现类。 由于底层采用了哈希表存储数据,我们要求键不能重复,如果发生重复,新的键值对会替换旧的键值对。 HashMap在查找、删除、修改方面都有非常高的效率。

     HashTable类和HashMap用法几乎一样,底层实现几乎一样,只不过HashTable的方法添加了synchronized关键字确保线程同步检查,效率较低。

    HashMap: 线程不安全,效率高。允许key或value为null。

    HashTable: 线程安全,效率低。不允许key或value为null。

    HashMap底层实现采用了哈希表,这是一种非常重要的数据结构。 哈希表的本质就是“数组+链表”。

    在HashMap中有一个如下图的:

    一个Node<K,V>存储了:

          1. hash: 键对象的hash值

          2. key:键对象 value:值对象

          3. next:下一个节点

    即一个Node<K,V>对象就是一个单链表结构。

    HashMap即在数据结构中的链地址法。

    相关文章

      网友评论

        本文标题:Map和HashMap

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