1

我有:

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

这可能吗?我正确地使用了迭代?

4

2 回答 2

1

如果你想比较邻居,你可能会更好:

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"
}
于 2013-07-09T17:01:57.237 回答
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
于 2013-07-09T16:59:50.383 回答