イテレータ

イテレータってありますよね?コレクションの各要素に対して順次アクセスを行なうアレです。これってデザインパターン的なものなので、Java に限ったものではなく C++ 等にもあったりします。*1

たしか C++ の場合、リバースイテレータというものがあります。その名前のとおり、逆方向への走査が可能なイテレータです。
コレクションの末尾から先頭に向かって処理を行ないたい場合などに重宝します。これ、Java にも導入されないでしょうかね・・・

現状、Java を使用して末尾から先頭に向かって処理を行なう場合、下記のようなコーディングが必要になるかと思います。

for (int i=list.size()-1; i>=0; i--) {
  Object element = list.get(i);
    :
}

もし、リバースイテレータが使用可能であれば、下記のように記述できるのでは?

for (Iterator itr=list.reverseIterator(); itr.hasNext(); ) {
  Object element = itr.next();
    :
}

*1:C++ の場合、STL に含まれています。