They are different first of all. for-each
uses Iterator
under the hood whereas for
is useful for operations on arrays or where you can do something meaningful with indexes.
solved What is very faster, normal for loop or foreach loop in java? [duplicate]