1.简介

        1.1 Hash Map是一个散列表,她存储的是键值对(Key-Value)的映射;

        1.2 继承于AbstractMap,实现了Map,Cloneable,Java.Io.Serializable接口;

        1.3 HashMap的实现是不同步的,意味着她不是线程安全的。她的Key,Value都可以为空。HashMap是散列表,所以她的映射都是无序的;

2.HashMap和Map的关系

        Java集合-HashMap

        2.1HashMap继承于AbstractMap类,实现了Map接口。Map是"key-value键值对"接口,AbstractMap实现了"键值对"的通用函数接口。 
        2.2HashMap是通过"拉链法"实现的哈希表。它包括几个重要的成员变量:table, size, threshold, loadFactor, modCount。
      table是一个Entry[]数组类型,而Entry实际上就是一个单向链表。哈希表的"key-value键值对"都是存储在Entry数组中的。 
      size是HashMap的大小,它是HashMap保存的键值对的数量。 
      threshold是HashMap的阈值,用于判断是否需要调整HashMap的容量。threshold的值="容量*加载因子",当HashMap中存储数据的数量达到threshold时,就需要将HashMap的容量加倍。
      loadFactor就是加载因子。 
      modCount是用来实现fail-fast机制的。

3.再补充

相关文章: