```java transient Node<K,V>[] table; ``` HashMap 的内部 Node 类型的数组,属性名为 table。 ```java transient int modCount; ``` 该字段起标记作用,值是对该 HashMap 进行结构修改的次数,主要用于迭代器访问时检测 HashMap 是否因为删除等其它操作内部机构发生变化。 ```java transient Set<Map.Entry<K,V>> entrySet; ``` HashMap 内部有很多内部类,扩展了 HashMap 的一些功能,EntrySet 类就是其中一种,该类较为简单,无内部属性,你可以理解为一个工具类,对 HashMap 进行了简单的封装,提供了方便的遍历、删除等操作。 调用 HashMap 的 entrySet() 方法就可以返回 EntrySet 实例对象,为了不至于每次调用该方法都返回新的 EntrySet 对象,所以设置该属性,缓存 EntrySet 实例。 ```java transient int size; ``` 键值对的数量。 ```java int threshold; ``` size 的临界值,当 size 大于 threshold 就必须进行扩容操作。 ```java final float loadFactor; ``` 负载因子,被 final 修饰,在构造方法中就被初始化,不指定就用默认的。