Was ist ein Iterator?

Ein Iterator ist ein Computersprachenkonstrukt, mit dem ein Programm eine Gruppe von Datenwerten oder Informationen systematisch durchlesen kann. Iteratoren ermöglichen auch den individuellen Zugriff auf jedes Mitglied der Gruppe, ohne den Rest der Gruppe zu beeinträchtigen. 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 jeden Typ einer Gruppe von Objekten scannen können.

Das Durchlaufen einer Gruppe von Objekten mit einem Iterator wird normalerweise als Iterieren oder Überqueren bezeichnet. In den meisten Computersprachen werden Iteratoren zum Durchlaufen von Gruppen verwandter Objekte verwendet, 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 der einfache Zugriff auf Elemente in einer Auflistung, da ihr Bereich auf die Elemente in der Auflistung beschränkt ist. Es ist zwar weiterhin möglich, auf einen Index außerhalb der Grenzen zuzugreifen, es ist jedoch unwahrscheinlich, dass der Iterator ordnungsgemäß verwendet wird.

Iteratoren werden im Speicher je nach Computersprache, in der sie verwendet werden, unterschiedlich definiert, initialisiert und behandelt. Die allgemeine Syntax für sie ist im Gegensatz dazu 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 umfassen die Erstellung eines Iteratorobjekts, und dieses Objekt wird dann in einer Durchlaufschleife über die Elemente einer Auflistung verwendet. Implizite Iteratoren umfassen eine spezielle Art von Schleifenstruktur, mit der das Iteratorobjekt erstellt wird, ohne dass es zuvor angegeben wurde. Ob explizite oder implizite Iteratoren für einen bestimmten Durchlauf verwendet werden, hängt normalerweise von der Präferenz des Programmierers ab, da Unterschiede in der Menge des Codes 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 anzeigen, während implizite Iteratoren dies nicht anzeigen.

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

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?