Co to jest iterator?
Iterator to konstrukt języka komputerowego, który umożliwia programowi odczytanie grupy wartości danych lub informacji 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 implementacja jest niezależna od obiektów, które skanują, więc mogą skanować dowolną grupę obiektów.
Podróżowanie przez grupę obiektów z iteratorem jest zwykle nazywane iteracją lub przejściem. 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 używany poprawnie. Iteratory
są zdefiniowane, inicjowane i obsługiwane w pamięci inaczej 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 można użyć do iteratorów, zdefiniowane jako jawne lub ukryte.
Iteratory jawne obejmują tworzenie obiektu iteratora, a obiekt ten jest następnie używany w pętli przemieszczania się 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 dla jakiegokolwiek konkretnego przejścia, zwykle zależy od preferencji programisty, 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 wyjaśniaiteratory ICIT pokazują tworzenie iteratora w kodzie źródłowym, a imperatory nie pokazują tego.
Ilekroć jest dostępna kolekcja obiektów, do ich skanowania można użyć iteratora. 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.