一、前言
在遍历HashMap与LinkedHashMap时,我们通常都会使用到迭代器,而HashMap的迭代器与LinkedHashMap迭代器是如何工作的呢?下面我们来一起分析分析。
二、迭代器继承图
三、HashMap迭代器
3.1 HashIterator
HashIterator是一个抽象类,封装了迭代器内部工作的一些操作。
HashIterator类属性
abstract class HashIterator { // 下一个结点 Node<K,V> next; // next entry to return // 当前结点 Node<K,V> current; // current entry // 期望的修改次数 int expectedModCount; // for fast-fail // 当前桶索引 int index; // current slot }