首頁 >Java >java教程 >如何存取 Java 的 For-Each 循環中的迭代計數器?

如何存取 Java 的 For-Each 循環中的迭代計數器?

Patricia Arquette
Patricia Arquette原創
2024-11-02 15:47:021029瀏覽

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