Если важна скорость сравнения элементов коллекции или вывод на экран то foreach().
Если будут происходить изменение (замена) данных в коллекции то однозначно for().
При возможном случаи удаления нескольких элементов из коллекции, то for(), и то начинать переборку с конца коллекции, чтобы не получилось обращение за пределы коллекции.