cómo funciona hasnext () en la colección en java

programa:

public class SortedSet1 {

  public static void main(String[] args) {  

    List ac= new ArrayList();

    c.add(ac);
    ac.add(0,"hai");
    ac.add(1,"hw");
    ac.add(2,"ai"); 
    ac.add(3,"hi"); 
    ac.add("hai");

    Collections.sort(ac);

    Iterator it=ac.iterator();

    k=0;

    while(it.hasNext()) {    
      System.out.println(""+ac.get(k));
      k++;     
    }
  }
}

salida: ai hai hola hw hai

¿Cómo se ejecuta 5 veces? mientras que no hay ningún elemento presente, así que condición falsa. Pero cómo se ejecutó.

Respuestas a la pregunta(3)

Su respuesta a la pregunta