pour créer une classe qui implémente Iterator<Instruction>, il suffit de mettre dans sa entête "implements Iterator<Instruction>" et de coder les trois méthodes qui s'y trouvent . Pour coder les méthodes, a mon a vis, le plus simple est de se baser sur un iterator courant, tu n'aura plus qu'à déléguer les appels qui doivent l'être.
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | public class MyIterator implements Iterator<Instruction>{
 private Iterator<Instruction> baseIterator;
 public MyIterator(Iterator<Instruction> baseIterator){
     this.baseIterator = baseIterator;
 }
 public boolean 	hasNext(){ 
    return baseIterator.hasNext();
 }
 public Instruction next(){
     return baseIterator.next().clone();
 }
 public void remove() { throw new UnsupportedOperationException("Delete forbidden");}
} | 
 puis sa création deviens simple comme bonjour.
	
	new MyIterator(listeDinstruction.iterator())
 
						
					
Partager