java - 确定嵌套 Foreach 循环中的当前对象是否相同

标签 java arraylist foreach comparison equality

我正在尝试确定当前对象是否在 foreach 内循环嵌套在另一个 foreach 循环内,这两个循环都迭代相同的 ArrayList ,当前都在同一个对象上迭代。由于 foreach 循环的约定,似乎没有一种简单的方法来获取 ArrayList 中对象的当前索引,以便能够比较当前对象是否相等。本质上,我想 continue如果两个 foreach 循环当前都在同一对象上迭代,则在内部 foreach 循环中遍历当前对象。

例如,给定 ArrayList<Object>命名objects :

for (Object a : objects) {

    for (Object b : objects) {

        //If both loops are currently iterating over the same object
        //from the ArrayList objects, skip to the next iteration of the inner
        //foreach loop
        if (a == b) {

            continue;

        }

        //If both foreach loops are not iterating over the same object
        //execute some operation

    }

}

正在使用==运算符来测试当前正在迭代的两个对象是否是同一对象可靠,或者最好简单地使用常规 for而是循环并根据索引比较对象?

最佳答案

在这种情况下,可以将对象与 == 进行比较,但前提是您没有多次将同一对象放入列表中。如果列表中的多个位置都有相同的对象,那么这是不行的,您应该使用标准的 for 循环。

关于java - 确定嵌套 Foreach 循环中的当前对象是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298277/

相关文章:

java - RecyclerView 在滚动时滞后

java - 数组列表排序

java - 遍历所有 main() 参数

loops - lisp 错误处理 - 检查变量是否为 nil

java - 如何从 URL 查询字符串中读取 JSON 对象

java - 从 fragment 类调用 Activity 的函数给出 NPE

java - 使用 Java List 时出现多个标记错误

java - 获取源代码//文件读取器//返回空列表

PHP fatal error : Cannot break/continue

java - 检查对象是否是通用父类的实例