Jak mogę uzyskać dostęp do poprzedniego / następnego elementu w tablicy ArrayList?

W ten sposób przeglądam listę ArrayList:

for (T t : list){
  ...
}

Kiedy to zrobiłem, nigdy nie sądziłem, że będę musiał uzyskać dostęp do poprzednich i następnych elementów tego elementu. Teraz mój kod jest ogromny. To kosztuje dużo, jeśli przepiszę go z:

for (int i = 0; i < list.size(); i++){
  ...
}

questionAnswers(4)

yourAnswerToTheQuestion