1
下一個索引我有:獲取循環
List<Object> list = ((Dao)dao).findAll();
for(int i; i < list.size(); i++) {
list.getIndex(i);
list.getIndex(i+1);
}
這是更多鈔票? 我正在使用迭代?
下一個索引我有:獲取循環
List<Object> list = ((Dao)dao).findAll();
for(int i; i < list.size(); i++) {
list.getIndex(i);
list.getIndex(i+1);
}
這是更多鈔票? 我正在使用迭代?
您可以這樣做,但爲了防止發生異常,您應該使用for (int i = 0 ; i < list.size() - 1; i++)
。
您可以使用此collate
獲得不重疊的對:
[1, 2, 3, 4, 5, 6, 7, 8, 9].collate(2).each {
def (first, second) = it
println "$first $second"
}
,它將打印:
1 2
3 4
5 6
7 8
9 null
如果你想比較的鄰居,你可能會更好附:
for(int i = 1; i < list.size() ; i++) {
list.getIndex(i - 1)
list.getIndex(i)
}
或者我認爲你可以這樣做:
list.collate(2, 1, false).each { a, b ->
println "$a $b"
}
不知道關於Groovy但假設將拋出一個異常'我==則爲list.size() - 1'! – NINCOMPOOP
是的,但是在那一刻被一個try-catch控制 –
@DavidJara你不應該使用'try' ...'catch'塊來解決錯誤的代碼 –