Files
BUT2-DEV34/TP4/stub/2Iterator/MonBrinIterator.java

60 lines
1.6 KiB
Java
Raw Permalink Normal View History

2024-11-13 17:25:35 +01:00
import java.util.Iterator;
import java.util.NoSuchElementException;
/**
MonBrinIterator
gère la navigation dans un Brin d'ADN
*/
/*
public class MonBrinIterator implements Iterator<Base> {
public MonBrinIterator(MonMaillon m){
throw new UnsupportedOperationException("cette méthode n'est pas implémentée");
}
/** Pour naviguer?
On implémente l'interface iterable de java.util ici
L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navogation fonctionne.
**//*
@Override
public boolean hasNext(){
throw new UnsupportedOperationException("cette méthode n'est pas implémentée");
}
@Override
public Base next() {
throw new UnsupportedOperationException("cette méthode n'est pas implémentée");
}
}
*/
import java.util.Iterator;
import java.util.NoSuchElementException;
public class MonBrinIterator implements Iterator<Base> {
private MonMaillon courant;
// Initialise l'itérateur avec le premier maillon du brin
public MonBrinIterator(MonMaillon m) {
this.courant = m;
}
// Vérifie s'il y a un élément suivant dans le brin
@Override
public boolean hasNext() {
return courant != null;
}
// Retourne la base actuelle et passe au maillon suivant
@Override
public Base next() {
if (!hasNext()) throw new NoSuchElementException("No more elements in the iterator.");
Base baseActuelle = courant.getBase();
courant = courant.getSuiteMaillon(); // Passe au maillon suivant
return baseActuelle;
}
}