以下代码是我的问题的一个例子:
Iterator<Person> currPerson = person.iterator();
while(currPerson.hasNext()){
Person curr = currPerson.next();
// Iterator<Person> currPerson2 = person.iterator();
//EDIT
Iterator<Person> currPerson2 = this.deepCopy.iterator();
curr.moveLocation();
while (currPerson2.hasNext()){
Person curr2 = currPerson2.next();
// if same spot
if (curr.checkLocation(curr2)){
int index = person.getIndex(curr2);
curr.fight(person.get(index));
}
}
}
如果我从同一个arrayList创建另一个迭代器,第一个迭代器的任何更改都会影响另一个迭代器;并在moveLocation()工作不正确之后进行while循环?
谢谢!