Best way to iterate through ArrayList?

I know four ways to do this… But which way is the best?

  1. Using an iterator
  2. Using a for loop with array.size() as the max value
  3. Using array.toArray(new [0]);
  4. Just using for ( val : array) {} (this actually works!)

Just as a note, I will be iterating through it a lot so what is actually the best way which is easiest and the best?