Если вы объявили и заполнили ArrayList
, который я назову list
, то вы просто выполняете итерацию по модулю размера списка. Как именно это написать, зависит от того, что вы хотите сделать.
1) Продолжайте идти вечно, по кругу:
int index = 0;
while (true) {
value = list.get(index);
… process value here …
index = (index + 1) % list.size();
// or equivalently to previous line: if (++index >= list.size) index = 0;
}
2) Циклически просматривайте список ровно один раз, но начинайте с произвольногоpoint base
:
for (int offset = 0; offset < list.size(); offset++) {
int index = (base + offset) % list.size();
value = list.get(index);
… process value here …
}
и так далее ...
Способы могут быть разработаны для использования явного итератора, а не индексации, но все зависит от того, чего вы хотите достичь.