Skip to main content

Cos'è un iteratore?

Un iteratore è un costrutto del linguaggio del computer che consente a un programma di leggere attraverso un gruppo di valori di dati o informazioni in modo sistematico.Gli iteratori consentono anche l'accesso individuale a ciascun membro del gruppo, senza influire sul resto del gruppo.Sono usati in molti linguaggi di script e programmazione, tra cui C ++, Java, PHP e Perl.La loro implementazione è indipendente dagli oggetti che scansionano, in modo che possano scansionare qualsiasi tipo di gruppo di oggetti.

Viaggiare attraverso un gruppo di oggetti con un iteratore viene solitamente chiamato iteraggio o attraversamento.Nella maggior parte dei linguaggi informatici, gli iteratori vengono utilizzati per attraversare gruppi di oggetti correlati chiamati raccolte.Le loro implementazioni sono molto flessibili e in grado di essere utilizzate con raccolte di qualsiasi dimensione.Sono, in generale, più sicuri del semplice accesso agli elementi in una collezione perché la loro gamma è limitata agli elementi della collezione.Sebbene sia ancora possibile accedere a un indice out-of-bounds, non è probabile che l'iteratore venga utilizzato correttamente.

Gli iteratori sono definiti, inizializzati e gestiti in memoria in modo diverso a seconda del linguaggio del computer in cui vengono utilizzati.La sintassi generale per loro, al contrario, è simile nella maggior parte delle lingue.Esistono due diversi tipi di sintassi che possono essere utilizzati per gli iteratori, definiti come espliciti o impliciti.

Iteratori espliciti coinvolgono la creazione di un oggetto iteratore e quell'oggetto viene quindi utilizzato in un ciclo di attraversamento rispetto agli elementi di una raccolta.Gli iteratori impliciti coinvolgono un tipo speciale di struttura ad anello che crea l'oggetto iteratore senza che sia specificato in anticipo.Se gli iteratori espliciti o impliciti siano usati per qualsiasi attraversamento particolare dipende di solito dalla preferenza dei programmatori, poiché le differenze nella quantità di codice o per le prestazioni tra loro sono trascurabili.La più grande differenza tra iteratori espliciti e impliciti è che gli iteratori espliciti mostrano la creazione di un iteratore nel codice sorgente, mentre gli iteratori impliciti non lo mostrano.

Ogni volta che è disponibile una raccolta di oggetti, un iteratore può essere usato per scansionarli.A seconda delle funzionalità di un linguaggio di computer, gli iteratori possono essere utilizzati su array, mappe, elenchi e una varietà di altri tipi di raccolta.Gli iteratori sono una caratteristica relativamente onnipresente dei linguaggi di programmazione e i linguaggi più comuni hanno un qualche tipo di funzionalità disponibile.Alcuni linguaggi per computer consentono agli iteratori di funzionalità aggiuntive, come le restrizioni sul numero di volte in cui si accede a un elemento.Poiché queste caratteristiche non sono universali, a volte ci sono modi in cui possono essere implementate indipendentemente dagli stessi iteratori.