Технически не является ли цикл For Do Do Do?..
Также, когда дело доходит до петель.Если вы планируете только получать данные и никогда не изменять данные, вы должны использовать foreach.Если по какой-то причине вам нужны фактические индексы, вам нужно увеличить их, поэтому вам следует использовать обычный цикл for.
for (Data d : data)
{
d.doSomething();
}
должен быть быстрее, чем ...
for (int i = 0; i < data.length; ++i)
{
data[i].doSomething();
}