1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
public class Removes {
static class Individu {
double value;
public Individu(double value) {
this.value = value;
}
@Override
public String toString() {
return ""+value;
}
}
static class MaListe {
List<Individu> individus;
public MaListe(List<Individu> l1) {
this.individus = l1;
}
public void boucle(Traitement traitement) {
for (ListIterator<Individu> it=individus.listIterator(); it.hasNext();) {
traitement.faire(it, it.next(), individus);
}
}
}
static abstract class Traitement {
public abstract void faire(ListIterator<Individu> it, Individu ind, List<Individu> liste);
}
static class UnTraitement extends Traitement {
@Override
public void faire(ListIterator<Individu> it, Individu ind, List<Individu> liste) {
if (ind.value == 0.42)
; // TODO supprimer l'élément avant et celui après
else if (ind.value == 0)
it.remove();
}
}
static void test() {
Individu[] individus = {new Individu(0.2),new Individu(0),new Individu(0.9),new Individu(0.42),new Individu(0.5),new Individu(0.8)};
MaListe maListe = new MaListe(new ArrayList<Individu>(Arrays.asList(individus)));
maListe.boucle(new UnTraitement());
System.out.println(maListe.individus);
}
public static void main(String[] args) {
test();
}
} |
Partager