У меня есть следующий код, но иногда я получаю какое-то исключение параллелизма при его запуске.Разница в производительности между конструкцией Iterator и конструкцией foreach
ArrayList<Mob> carriers = new ArrayList<Mob>();
ArrayList<Mob> mobs = new ArrayList<Mob>();
...
for (Mob carrier : carriers){
for (Mob mob : mobs){
checkInfections (carrier, mob);
}
}
Я реорганизовал его для решения проблемы параллелизма, но это действительно привело меня к вопросу. Будет ли разница в производительности, если я изменил конструкцию for на шаблон Iterator? Какова разница уровней доступа между конструкцией foreach и классом Iterator?
Чтобы быть супер педантичным, улучшенные циклы 'for' позволяют вам перебирать все, что есть' Iterable' или массив, а массивы не являются 'Итерируемыми'. – ColinD
@ColinD Я упоминаю об этом в первом абзаце. – cletus
Я был педантичен о том, как вы сформулировали его в первом абзаце. – ColinD