当前位置: 首页 > 知识库问答 >
问题:

如何找到foreach循环的迭代次数?

谭梓
2023-03-14

如果我试图在java中查找遍历foreach循环的次数,还有比这更好的方法吗?

int i = 0;
for (Button button : levelBtns) {
    button = new Button(160, 40 + (i * 50), 100, 40);
    i++;
}

我知道我可以只使用一个普通的for循环并拥有一个迭代器I,但我只是想知道是否有一种更优雅的方法来使用foreach.tanks in prevair:)

编辑:正如Jon Skeet指出的,上面的代码将新的按钮实例分配给迭代变量。哎呀。基于其他评论,我相信最实用的使用是一个正常循环。这是我要用的版本。谢谢大家的帮助!

Button[] levelBtns = new Button[6];
for (int i = 0; i < levelBtns.length; i++) {
    levelBtns[i] = new Button(160, 40 + (i * 50), 100, 40);
}

共有1个答案

池恩
2023-03-14

如果它不是一个可迭代的,而是一个集合或数组,您正在迭代,并且需要循环后的迭代次数,只需使用Collection.size()方法或数组的length字段来获得它的大小,也就是迭代次数。

 类似资料:
  • 替代的解决方法可以是将有限的函数转换为对检查的异常更友好的普通旧foreach循环。 但天真的方法是失败的: 更新 回答这个问题的一个技巧以前在Why does stream not implementing iterable 上发布过?作为旁侧答案并不能真正回答问题本身。我认为这不足以将这个问题定性为那个问题的重复,因为他们问的是不同的问题。

  • 我试图在PHP中的foreach循环的每次迭代之后进行回显。回声在全部完成之前不会呈现。我试过各种帖子的建议,但没有一个奏效。我的一些代码是: 有什么建议吗?谢了。

  • 如何进入JavaScript循环的下一次迭代? 例如: MDN文档只提到完全脱离循环,而不是转移到下一个迭代。

  • 问题内容: 我想每隔3个帖子通过XML回显图像,这是我的代码: 这是一个示例,前3个是正确的,但现在不会循环idgc.ca/web-design-samples-testing.php 问题答案: 最简单的方法是使用模数除法运算符。 工作原理:模数除法返回余数。当您为偶数倍时,余数始终等于0。 有一个陷阱:等于0。如果您的计数器从0开始,可能会导致意外结果。

  • 在Django模板中,我想创建一个遍历列表的for循环。在循环过程中,我还希望能够使用循环的迭代次数。 例如,如果有4个元素,那么: 应打印以下内容: 我该怎么做呢?

  • 问题内容: 假设我们尝试将可能引发检查异常的lambda应用于Java 8流: 这不会编译。 一种解决方法是将检查后的异常嵌套在其中,但是这会使以后的异常处理变得复杂,而且很丑陋: 另一种解决方法可能是转换限制功能,以普通的旧的foreach 循环是比较友好的检查的异常。 但是幼稚的方法失败了: 更新资料 为何在的地方贴了一个回答该问题的技巧。作为副答案本身并不能真正回答该问题。我认为这不足以使这