带有定位的 ArrayList 中的 Java ForEach

标签 java for-loop arraylist foreach

<分区>

概述:

我正在使用 for-each 循环,我很好奇是否需要用常规 for 循环替换它们,或者是否有办法在 ArrayList 中进行定位 这相当于跟踪在普通 for 循环中使用的索引。

问题的简化版本:

我将 for-each 与对象的 ArrayList 一起使用。这些对象用于在不同的时间计算不同的值,因此我需要遍历这些项目并在不同的时间进行计算。我希望在一个结构中跟踪这些结果,如果我可以在 ArrayList 中找到项目(而不必在单独的循环中遍历所有内容),我可以轻松地做到这一点。如果有,那么我可以用它来构建我需要的东西。如果没有,我将用 for 循环替换 for-each 并获得我需要的功能。

最佳答案

可以使用常规的 for 循环,但有时这不是一个好主意,例如,如果您正在处理链表,其中元素检索是索引中的 O(n)。为什么不只跟踪索引?

int index = 0;
for (Element e : list) {
    ...
    index++;
}

我发现这比普通的 for 循环更简洁,即使您从 ArrayList 更改为另一种非随机访问的列表类型,它仍将保持高效.

关于带有定位的 ArrayList 中的 Java ForEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24018715/

相关文章:

java - 荣格图书馆入门

java - 如何为 JsonArray 数据实现 for 循环

c - 为什么分号不清空循环体?

java - 将 Strings.xml 中的 String-Array 更改为 ArrayList

java - 在 doInBackground 方法中使用比较器对 ArrayList 进行排序时出错

java - JTextArea 中是否可以具有非可变尺寸?

java - 在非 JDK/非 JRE 安装系统中运行 Java 应用程序的问题

java - 为什么使用父类(super class)引用调用子类方法时会出现编译时错误?

java - 像半球一样在java中打印图案

java - 如何从文本字段获取 Long 值并将表单发送到 ArrayList