一、前言

  在遍历HashMap与LinkedHashMap时,我们通常都会使用到迭代器,而HashMap的迭代器与LinkedHashMap迭代器是如何工作的呢?下面我们来一起分析分析。

二、迭代器继承图

  【集合框架】JDK1.8源码分析之HashMap & LinkedHashMap迭代器(三)

  【集合框架】JDK1.8源码分析之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
}
View Code

相关文章: