selector

Map和HashMap

2020-02-23  本文已影响0人  surrealtire

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即在数据结构中的链地址法。

上一篇下一篇

猜你喜欢

热点阅读