Bonjour à tous, je dois recoder un programme de C++ vers Java. Ce n'est pas si simple qu'il y paraît car même si de nombreux concepts sont identiques, l'implémentation ne l'est pas.

Mon problème du genre si situe avec les iterators. En C++ ça donne ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
// l'implémentation C++ est tres certainement incorrecte
// c'est juste pour comprendre le principe et ce que je veux faire
vector<vector<int> >::iterator it = vv_val_.begin();
if( (it-1)->at(0)+(it+1)->at(0) < 2*it->at(0) ) { ... }
C'est super flexible, on peut jouer avec les opérateurs sans problèmes.

En java, je ne vois pas imiter ce it-1

Si j'implémente un ListIterator it, je peux seulement faire it.previous() , ce qui n'est pas la même chose car l'index est réellement modifié, alors qu'en C++ non.

Je n'arrive pas à trouver la solution de ce probleme, avez-vous une idée ?
Merci d'avance