Vorrei capire pił precisamente la differenza tra queste due interfacce, che spesso vengono confuse.
Allora da quello che ho capito io un iteratore č un TDA che estende il TDA di posizione, e consente di scorrere gli elementi su una struttura dati.
La classe Iterable definisce il metodo iterator() con cui č possibile creare un iteratore per un oggetto.
Invece la classe Iterator č quella che contiene i metodi per far scorrere l'iteratore, quindi quando dalla classe Iterable invoco il metodo:
Creo un oggetto iteratore it che scorre sugli elementi della lista tramite i metodi della classe Iterator.codice:Iterator <E> it= lista.iterator()
Funziona cosģ pił o meno?![]()