是否存在Java成語,用於通過排序的Collection
的元素進行成對迭代?我的意思是說,每次迭代都可以訪問集合中的一個元素和集合的下一個元素?通過已排序集合進行成對迭代的習語
final int n = list.size();
assert 2 <= n;
for (int i = 0; i < n - 1; ++i) {
final Thing thing1 = list.get(i);
final Thing thing2 = list.get(i+1);
operateOnAdjacentPair(thing1, thing2);
}
但對於SortedSet
:
對於分類List
S(和數組),它可以使用索引到集合做些什麼呢? (對於SortedMap
,您可以使用entrySet()
,相當於SortedSet
的情況)。
因此,舉例來說,如果您的有序集合中包含的值{1,2,3,4},迭代將是對(1,2),(2,3),(3 ,4)。
我相信你的建議只通過一半對迭代,因爲每次迭代都會提前2個元素。 – Raedwald
@Raedwald就像你在問題中指出的那樣,這個人正在通過(1,2)(3,4)......。 – allprog
不,看看我給List列出的例子。 – Raedwald