[Java]Arraylist

Bonjour a toutes et a tous
Je suis nouveau en Java, et comme tout autre debutant j'ai pas mal des problemes en matiere de concebtion de classes et de comprehention des concepts dite objets, et la ce soir, mon probleme reside dans le fait que je ne comprend pas la classe ArrayList et en particulier le role de iterateur:

for( iterator i = list.iterator(); i.hasNext();)
je comprend pas le detail de deroulement de cette expression.

pouriez vous m'aidez s'ils vous plais.

Merci d'avance.

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    salut

    iterator i = list.iterator

    dans cette expression tu récupères un objet, l'iterator de ton arraylist. C'est un objet qui te permet de parcourir le contenu de ta liste.

    cet objet, tu vas le faire parcourir ta liste, pour ce faire, tu utilise la méthode d'iterator "hasNext() qui te renvoie un booléen. Cette méthode permet de parcourir la liste tant qu'il y a quelque chose.

    exemple d'utilisation...

    Iterator it = monArrayList.iterator();
    
    //récupération de l'itérateur
    
    for (it.hasNext()){
    
    // itération de la liste
    
          Object o = (Object) it.next();
    
          //récupération de l'objet se trouvant à l'index courant de la liste
    
    }
    
    

    1. Merci infiniment sur cette clarification.
    2. Salut
      J'aimrai revenir un peu sur cette quetion, vous m'avez dit que avec l'expression iterator i = list.iterator()

      je récupère un objet, l'iterator de mon arraylist. Mais si on analyse cette expression de pont de vue syntaxique cette expression veut dire que l'identificateur i de type iterator prend le resultat de l'application de la methode iterator() sur l'objet liste, donc iterator() est une fonction est non pas un objet???

      Les question sur lesquelles j'aimrai voir des reponses s'ils vous plais sont:

      1- c'est quoi la nature de iterator? est il un objet? si oui il est issu de quelle classe? est il une metode? si oui de quelle classe?

      Merci infiniment .
      MAX.
  2. Salut, c'est une fonction qui renvoie un objet :o)
    1. Merci sur votre reponse.

      Vous m'avez dit que Iterator est une fonction qui renvoie un objet, c'est qui ma parait normal, mais quel objet renvoi-t'elle cette fonction? et pour quel but?

      Merci d'avoir repondre a ma bête question?
  3. Contributeur
    Salut,
    En fait dans ton premier passage tu mets list.iterator(0) et ensuite dans ton second tu fais list.iterator(1) tant que HasNext ne renvois pas false...
    1. Merci sur votre reponse.
    2. Merci une autre fois sur vos reposes.

      vous m'avez dit que avec l'expression : for( iterator i = list.iterator(); i.hasNext();) , dans un premier pasage l'algorithme fait : list.iterator(0), puis list.iterator(1) , jusqu'a la fin de la liste, ça je l''ai compri, mais la fonction literator () elle fait quoi exectement pour l'objet qu'elle prenne en argument?
      Merci d'avanc