Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于比较两个列表的所有对象的循环_Java_Android_Json_Db4o - Fatal编程技术网

Java 用于比较两个列表的所有对象的循环

Java 用于比较两个列表的所有对象的循环,java,android,json,db4o,Java,Android,Json,Db4o,我收到两个对象的列表,我应该比较所有对象 为此,我一直在使用下一个循环: for (int i=0;it2.hasNext();i++ ) { objetoDb4o=it2.next(); tratdb4o=(Tratam)objetoDb4o; for (int j=0;it.hasNext();j++ ) { objetoJson = it.next();

我收到两个对象的列表,我应该比较所有对象

为此,我一直在使用下一个循环:

        for (int i=0;it2.hasNext();i++ ) {
           objetoDb4o=it2.next();
           tratdb4o=(Tratam)objetoDb4o;
             for (int j=0;it.hasNext();j++ ) {
                    objetoJson = it.next();
                    tratJson = (Tratam)objetoJson;

            }
        }
它和it2是迭代器。。大小值正确(4和4)

但是循环不起作用。。第一个for只迭代一次,第二个for迭代三次


我找不到错误!你能帮我吗???

在进入内循环之前,你需要重置迭代器
,否则在外循环的第一次迭代中,你只会浏览第二个列表一次;其余的迭代将在
it.hasNext()
处停止,完全跳过内部循环。

和。。如何重置迭代器?不要错过他的值?@HéctorOrtiz重置的意思是从最初获得迭代器的相同集合中再次获取迭代器。例如,如果通过调用列表中的
iterator()
方法获得它,请在循环中再次调用
myList.iterator()
来重新分配
it
。最好的方法是在循环中声明
it
。这样,每次迭代都会进行初始化。