首页  >  文章  >  Java  >  如何访问 Java 的 For-Each 循环中的迭代计数器?

如何访问 Java 的 For-Each 循环中的迭代计数器?

Patricia Arquette
Patricia Arquette原创
2024-11-02 15:47:02968浏览

How Can I Access Iteration Counters in Java's For-Each Loop?

访问 Java 的 For-Each 循环中的迭代计数器

Java 的 for-each 循环提供了一种用于迭代集合的简洁语法。然而,它缺乏明确的迭代计数器。本文探讨了获取此信息的替代方法。

使用计数器变量的方法

虽然 for-each 循环没有固有的计数器,但您可以创建你自己的。考虑以下示例:

<code class="java">int i = 0;
for (String s : stringArray) {
  doSomethingWith(s);
  i++;
}</code>

通过每次迭代递增计数器变量,您可以跟踪循环中的当前位置。

计数器变量方法的局限性

  • 它需要单独初始化和维护计数器变量。
  • 它不适用于不支持索引的集合,例如链表。

替代方法:使用专用集合

一些专用Java集合,例如ArrayList和LinkedList,提供了访问索引信息的附加方法。例如,ArrayList 中的 forEachWithIndex() 方法允许您传递一个 lambda 表达式,该表达式将元素及其索引作为参数。

<code class="java">ArrayList<String> stringArray = ...;
stringArray.forEachWithIndex((i, s) -> doSomethingWith(i, s));</code>

结论

虽然 Java 的 for-each 循环不提供内置的迭代计数器,但还有其他方法可以获取此信息。使用计数器变量提供了一种灵活的解决方案,但它对某些集合类型有限制。如果索引访问至关重要并且您的集合支持它,请考虑使用具有索引感知方法的专用集合。

以上是如何访问 Java 的 For-Each 循环中的迭代计数器?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn