When I reverse iterate over an ArrayList I am getting a IndexOutOfBoundsException. I tried doing forward iteration and there is no problem. I expect and know that there are five
The most elegant way is to reverse the array and then use a direct (or even implicit) iterator :
Collections.reverse(arrayList); for (Object item : arrayList) { ... }