窓イテレータ

int wsize = 2;
WindowIterator it = new WindowIterator(new Integer[] {10,20,30,40,50}, wsize);
while ( it.hasNext() ) {
foreach ( int x : it.next() ) {
System.out.println(x + " ");
}
}
// 10 20 \n 20 30 \n 30 40 \n 40 50 \n と表示される

連結リストでも配列でも効率的に動くようにするには、どう実装する?

List.subList() が返す部分リストは、コピーじゃなくて参照らしいけれど、
あんまり早くないような……