循环方式的java数组遍历

Con*_*oid 11 java arrays traversal

我有一个数组有1 2 3 4 5值.

array a = [ 1 , 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

现在我想以循环方式遍历它.我喜欢打印2 3 4 5 1或3 4 5 1 2或5 1 2 3 4等等.任何算法对此有何看法?

编辑:我想以循环方式打印所有组合.我不想在初始阶段说出起点.

Ste*_*n C 20

int start = ...
for (int i = 0; i < a.length; i++) {
    System.out.println(a[(start + i) % a.length]);
}
Run Code Online (Sandbox Code Playgroud)

我应该注意,就执行速度而言,这可能不是表达循环的最有效方式.但是,差异很小,很可能无关紧要.

更相关的一点是,start以这种方式使用是否会提供更易读的代码.我认为确实如此,但也许那是因为我之前看过/使用过这种特殊的习语.