Skip to main content

Co to jest iterator?

Iterator jest konstrukcją języka komputerowego, który umożliwia program odczytu przez grupę wartości danych lub informacje w systematyczny sposób.Iteratory pozwalają również na indywidualny dostęp do każdego członka grupy, bez wpływu na resztę grupy.Są one używane w wielu językach scenariuszy i programowania, w tym C ++, Java, PHP i Perl.Ich wdrożenie jest niezależne od obiektów, które skanują, więc mogą skanować dowolny rodzaj grupy obiektów.

Podróżowanie przez grupę obiektów z iteratorem jest zwykle nazywane iteracją lub przemieszczaniem.W większości języków komputerowych iteratory służą do przemierzania grup powiązanych obiektów zwanych kolekcjami.Ich implementacje są bardzo elastyczne i można je stosować z kolekcjami dowolnej wielkości.Są one ogólnie bezpieczniejsze niż proste dostęp do elementów w kolekcji, ponieważ ich zasięg jest ograniczony do elementów w kolekcji.Chociaż nadal można uzyskać dostęp do indeksu poza zbiorami, nie jest prawdopodobne, czy iterator jest prawidłowo używany. Iteratory są zdefiniowane, inicjowane i obsługiwane w pamięci w zależności od języka komputerowego, w którym są używane.Natomiast ogólna składnia dla nich jest podobna w większości języków.Istnieją dwa różne rodzaje składni, które mogą być używane do iteratorów, zdefiniowane jako jawne lub domyślne.

Jawne iteratory obejmują tworzenie obiektu iteratora, a obiekt ten jest następnie używany w pętli przemieszczania nad elementami kolekcji.Implikowane iteratory obejmują specjalny rodzaj struktury pętli, który tworzy obiekt iteratora bez wcześniejszego określenia.To, czy iteratory jawne lub niejawne są używane do jakiegokolwiek konkretnego przejścia, zwykle zależy od preferencji programistów, ponieważ różnice w ilości kodu lub wydajności między nimi są nieistotne.Największą różnicą między jawnymi i niejawnymi iteratorami jest to, że jawne iteratory pokazują tworzenie iteratora w kodzie źródłowym, podczas gdy iteratorzy nie pokazują tego.

Ilekroć dostępna jest zbiór obiektów, do ich skanowania można je skanować.W zależności od możliwości języka komputerowego iteratory mogą być używane na tablicach, mapach, listach i wielu innych typach kolekcji.Iteratorzy są stosunkowo wszechobecną funkcją języków programowania, a najczęstsze języki mają dostępny rodzaj funkcjonalności.Niektóre języki komputerowe pozwalają iteratorom z dodatkowymi funkcjami, na przykład ograniczenia dotyczące liczby dostępu do elementu.Ponieważ te cechy nie są uniwersalne, czasami istnieją sposoby, w jakie można je wdrożyć niezależnie od samych iteratorów.