Iteratorius yra kompiuterinės kalbos konstrukcija, leidžianti programai sistemingai perskaityti duomenų reikšmių grupę arba informacijos dalis. Iteratoriai taip pat suteikia individualią prieigą prie kiekvieno grupės nario, nepažeidžiant likusios grupės. Jie naudojami daugelyje scenarijų ir programavimo kalbų, įskaitant C++, Java, PHP ir Perl. Jų įgyvendinimas nepriklauso nuo nuskaitomų objektų, todėl jie gali nuskaityti bet kokio tipo objektų grupę.
Kelionė per objektų grupę su iteratoriumi paprastai vadinama iteracija arba perėjimu. Daugumoje kompiuterių kalbų iteratoriai naudojami susijusių objektų grupėms, vadinamoms kolekcijomis, naršyti. Jų įgyvendinimas yra labai lankstus ir gali būti naudojamas su bet kokio dydžio kolekcijomis. Paprastai jie yra saugesni nei paprasta prieiga prie kolekcijos elementų, nes jų diapazonas apsiriboja kolekcijos elementais. Nors vis dar galima pasiekti neribotą indeksą, mažai tikėtina, kad iteratorius naudojamas teisingai.
Iteratoriai apibrėžiami, inicijuojami ir atmintyje tvarkomi skirtingai, priklausomai nuo kompiuterio kalbos, kuria jie naudojami. Priešingai, bendroji jų sintaksė yra panaši daugeliu kalbų. Yra dviejų skirtingų tipų sintaksės, kurios gali būti naudojamos iteratoriams, apibrėžtos kaip aiškios arba numanomos.
Aiškūs iteratoriai apima iteratoriaus objekto kūrimą, o tada tas objektas naudojamas kolekcijos elementų perėjimo cikle. Netiesioginiai iteratoriai apima specialų ciklo struktūros tipą, kuris sukuria iteratoriaus objektą jo nenurodant iš anksto. Nesvarbu, ar aiškūs ar numanomi iteratoriai naudojami kokiam nors konkrečiam perėjimui, paprastai priklauso nuo programuotojo pageidavimų, nes kodo kiekio ar našumo skirtumai tarp jų yra nereikšmingi. Didžiausias skirtumas tarp aiškių ir numanomų iteratorių yra tas, kad eksplicitiniai iteratoriai rodo iteratoriaus kūrimą šaltinio kode, o numanomi iteratoriai to nerodo.
Kai tik yra objektų kolekcija, jiems nuskaityti gali būti naudojamas iteratorius. Atsižvelgiant į kompiuterio kalbos galimybes, iteratoriai gali būti naudojami masyvuose, žemėlapiuose, sąrašuose ir daugelyje kitų rinkinių tipų. Iteratoriai yra gana visur paplitęs programavimo kalbų bruožas, o dauguma įprastų kalbų turi tam tikrų funkcijų. Kai kurios kompiuterių kalbos leidžia iteratorius su papildomomis funkcijomis, pvz., apribojimus, kiek kartų pasiekiamas elementas. Kadangi šios funkcijos nėra universalios, kartais yra būdų, kaip jas galima įgyvendinti nepriklausomai nuo pačių iteratorių.