Groovy 获取循环中的下一个索引

Groovy 获取循环中的下一个索引,groovy,Groovy,我有: List List=((Dao)Dao.findAll(); 对于(int i;i

我有:

List List=((Dao)Dao.findAll();
对于(int i;i
这可能吗?
我正确地使用了迭代?

您可以这样做,但是为了防止出现异常,您应该使用
for(int I=0;I


可以使用此选项获得非重叠对:

List<Object> list = ((Dao)dao).findAll();
for(int i; i < list.size(); i++) {
    list.getIndex(i);
    list.getIndex(i+1);
}
将打印:

[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

我不知道Groovy,但是presume将在
i==list.size()-1处抛出异常!是的,但是它是通过试一试来控制的moment@DavidJara您不应该使用
try
catch
块来处理错误代码
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"
}