FabioJ ha scritto:
Vorrei capire e risolvere questo esercizio .
Vorrei prima di tutto capire cosa fa il codice .
La classe ImmutableArrayList "dovrebbe" rappresentare a livello concettuale una sequenza di oggetti indicizzata per indice, il tutto basato internamente su un array.
I due metodi get e size sono banali: get
espone l'oggetto i-esimo mentre size
espone la lunghezza della sequenza (cioè dell'array).
La classe dovrebbe rappresentare una sequenza "immutabile" .... in realtà non lo è al 100%. Il costruttore riceve un array dall'esterno e lo assegna direttamente al campo. Quindi l'array è lo stesso che ha il chiamante e il chiamante .... potrebbe modificarlo come gli pare .....
Ma sorvoliamo su questo aspetto.
FabioJ ha scritto:
L'esercizio consiste nel utilizzare e/o completare le seguenti classi e/o interfacce .
Ti viene chiesto di implementare l'iteratore.
Generalmente la IMPLEMENTAZIONE (cioè la classe che fa
implements Iterator) la si mette come inner-class interna alla collezione e oltretutto "privata", in modo che non sia visibile dall'esterno.
L'oggetto iteratore nel tuo caso deve semplicemente tenersi l'indice a cui è arrivato. In base a quello, puoi esporre: dal hasNext se si può andare avanti e dal next il prossimo elemento.