Skip to main content

Was ist ein Iterator?

Ein Iterator ist ein Computersprachenkonstrukt, mit dem ein Programm eine Gruppe von Datenwerten oder Informationen auf systematische Weise durchlesen kann.Iteratoren ermöglichen auch den individuellen Zugriff auf jedes Mitglied der Gruppe, ohne den Rest der Gruppe zu beeinflussen.Sie werden in vielen Skript- und Programmiersprachen verwendet, einschließlich C ++, Java, PHP und Perl.Ihre Implementierung ist unabhängig von den Objekten, die sie scannen, sodass sie jede Art einer Gruppe von Objekten scannen können.

Durch das Durchlaufen einer Gruppe von Objekten mit einem Iterator wird normalerweise als Iterating oder Durchlaufen bezeichnet.In den meisten Computersprachen werden Iteratoren verwendet, um Gruppen verwandter Objekte zu durchqueren, die als Sammlungen bezeichnet werden.Ihre Implementierungen sind sehr flexibel und können mit Sammlungen jeder Größe verwendet werden.Sie sind im Allgemeinen sicherer als einfacher Elementzugriff in einer Sammlung, da ihre Reichweite auf die Elemente in der Sammlung beschränkt ist.Es ist zwar immer noch möglich, auf einen Index außerhalb des Bounds zuzugreifen, aber es ist nicht wahrscheinlich, wenn der Iterator korrekt verwendet wird.Die allgemeine Syntax für sie ist dagegen in den meisten Sprachen ähnlich.Es gibt zwei verschiedene Arten von Syntax, die für Iteratoren verwendet werden können, die als explizit oder implizit definiert sind.

Explizite Iteratoren beinhalten die Erstellung eines Iteratorobjekts, und dieses Objekt wird dann in einer Traversalschleife über die Elemente einer Sammlung verwendet.Implizite Iteratoren beinhalten eine spezielle Art von Schleifenstruktur, die das Iteratorobjekt erstellt, ohne dass es vorher angegeben wird.Ob explizite oder implizite Iteratoren für eine bestimmte Durchführung verwendet werden oder nicht, hängt normalerweise von den Vorlieben der Programmierer ab, da Unterschiede in der Menge des Code oder der Leistung zwischen ihnen vernachlässigbar sind.Der größte Unterschied zwischen expliziten und impliziten Iteratoren besteht darin, dass explizite Iteratoren die Erstellung eines Iterators im Quellcode zeigen, während implizite Iteratoren dies nicht zeigen.

Wenn eine Sammlung von Objekten verfügbar ist, kann ein Iterator verwendet werden, um sie zu scannen.Abhängig von den Funktionen einer Computersprache können Iteratoren auf Arrays, Karten, Listen und einer Vielzahl anderer Sammlungstypen verwendet werden.Iteratoren sind ein relativ allgegenwärtiges Merkmal von Programmiersprachen, und die meisten gängigen Sprachen haben eine Art von Funktionalität.Einige Computersprachen ermöglichen Iteratoren mit zusätzlichen Funktionen, z. B. Einschränkungen für die Häufigkeit, mit der ein Element zugegriffen wird.Da diese Merkmale nicht universell sind, gibt es manchmal Möglichkeiten, wie sie unabhängig von den Iteratoren selbst implementiert werden können.