[Java]Arraylist

MAX -  
choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    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
    
    }
    
    

    15
    1. MAX
       
      Merci infiniment sur cette clarification.
      0
    2. MAX
       
      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.
      0
  2. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    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...
    0
    1. MAX
       
      Merci sur votre reponse.
      0
    2. MAX
       
      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
      0
  3. Obeet Messages postés 4051 Date d'inscription   Statut Membre Dernière intervention   30
     
    Salut, c'est une fonction qui renvoie un objet :o)
    0
    1. MAX
       
      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?
      0