Se la tua classe implementa java.lang.Iterable allora vuol dire che deve avere un metodo iterator() che restituisce un Iterator (con l'ovvio scopo di permettere di iterare sul tuo oggetto-collezione senza doverne conoscere la struttura interna).Originariamente inviato da Darèios89
Per usare un iteratore, devo implementare io l'interfaccia Iterator? Altrimenti le mie classi non trovano il metodo iterator?
codice:import java.util.*; public interface DLinkedList extends Iterable{
Chiaramente Iterator è una interfaccia e quindi devi restituire un oggetto che sarà di una tua classe che implementa Iterator.
Tipicamente questa classe non la si mette pubblica o la si rende particolarmente accessibile. Al contrario la si tiene il più possibile nascosta, ad esempio una inner class privata del tuo DLinkedList.
Questo semplicemente perché l'unica cosa che interessa è ottenere da iterator() un oggetto che "sa" come iterare sul tuo oggetto-collezione. Chi l'ha creato, come, dove .... generalmente all'esterno non interessa.