我运行了以下代码,但运行时有时会出现某种并发异常.
ArrayList<Mob> carriers = new ArrayList<Mob>();
ArrayList<Mob> mobs = new ArrayList<Mob>();
...
for (Mob carrier : carriers){
for (Mob mob : mobs){
checkInfections (carrier, mob);
}
}
Run Code Online (Sandbox Code Playgroud)
我重构它来解决并发问题,但它确实引出了一个问题.如果我将for构造更改为Iterator模式,性能会有差异吗?foreach构造和Iterator类之间的访问级别差异是什么?