我用来实现与这样的泛型循环:泛型for-loop:有没有办法获得迭代信息?
for (final Dog lDog : lAllDog) {
...
}
Unfortunality另一个商业案例,我需要迭代的当前计数。 我知道我可以通过编码的财产以后这样的解决这个问题:
for (int i = 0 ; i < lAllDog.length(); i++) {
System.out.println(i);
}
或
int i = 0;
for (final Dog lDog : lAllDog) {
...
i++;
}
但有没有办法让我的第一个代码示例迭代的当前计数没有宣布新的int
或更改整个循环标题?
Thx很多
增强的for循环没有计数器 - 所以您需要引入计数器,这种或那种方式。你的两个例子几乎涵盖了可能... – assylias 2013-03-18 16:17:33
我认为增强型for-loop是专门针对一些特定的,非常简单的,非常常见的情况。我用它来做那些。对于其他任何事情,旧的for循环都没有错。 – 2013-03-18 16:20:40
@PatriciaShanahan增强型for循环在引擎盖下使用了'Iterator',这意味着它以最优的速度遍历所有集合。 “''''''循环'有两个问题 - 它不能遍历一个'Set',如果你试图遍历一个'LinkedList',那么最终会导致可怕的性能。 – 2013-03-18 16:26:12