迭代器(iterator)有时又称光标(cursor)是程序设计的软件设计模式,可在容器对象(container,例如链表或数组)上遍访的接口,设计人员无需关心容器对象的内存分配的实现细节。

迭代器另一方面还可以集成生成器(generator)。有些语言将二者视为同一接口,有些语言如JavaScript则将之独立化。