Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1800 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Parcourir une arrayList, probleme iterateur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Parcourir une arrayList, probleme iterateur

n°1659577
Lou013
Derp Garage Founder
Posté le 17-12-2007 à 21:02:40  profilanswer
 

Bonjour à tous,  
 
Voilà je réalise un chat en java et j'ai donc du coté de mon application serveur une arraylist pour répertorier tous les clients connectés au serveur  
Mais quand je connecte un client il l'ajoute dans l'arraylist, ça va
 
Mais je ne parviens pas à accéder à ce client  
 

Code :
  1. //contenu du Thread
  2. try {
  3.      if(ns.ss.accept()!=null){
  4.       Client c = new Client(ns.ss.accept()); // on crée un nouvel objet Client quand le serversocket reçoit une connexion et on lui passe le socket client créé  
  5.       clients.add(c); //j'ajoute le nouveau client dans l'arraylist
  6.       System.out.println(clients.isEmpty()); // Je vérifie si la liste est vide
  7.                                                         Renvoie FALSE
  8.       System.out.println(clients.contains(c));//je vérifie si la liste contient client
  9.                                                         Renvoie TRUE
  10.      }
  11. //maintenant je veux lire les messages venant des clients
  12.      if(!clients.isEmpty()){ //si l'arraylist n'est pas vide
  13.       it = clients.iterator(); //itérateur pour parcourir l'arraylist
  14.       Client element;
  15.       Client element2;
  16.       Message affiche;
  17.       while(it.hasNext()){ //boucle pour parcourir l'arraylist
  18.        element=(Client)it.next();//client actuel  
  19.        System.out.println(element);//j'essaie de voir si le client est bien là
  20. Renvoie NULL !
  21.        affiche = element.getMessage();
  22.        while(it.hasNext()){
  23.         element2=(Client)it.next();
  24.         element2.oos.flush();
  25.         element2.oos.writeObject(affiche);
  26.         element2.oos.close();
  27.        }
  28.       }
  29.      }


 
Voilà j'ai annoté le code pour que vous compreniez le problème  
J'ai bien redéfinit le toString de l'objet client pour pouvoir l'afficher sans probleme...
 
Est-ce que je parcoure bien mon arraylist?
 
Quelqu'un peut-il m'aider?  
 
Merci d'avance


Message édité par Lou013 le 17-12-2007 à 21:28:54

---------------
[topic des lieux abandonnés] | "Sur HFR chacun a raison et les autres sont des cons"
mood
Publicité
Posté le 17-12-2007 à 21:02:40  profilanswer
 

n°1659678
nerisson
Pic-pic
Posté le 18-12-2007 à 08:39:22  profilanswer
 

1) Tu peut très bien avoir stocké un null dans ton ArrayList
2) Pourquoi est-ce que tu parcours 2 fois ta liste ?


---------------
Light is right
n°1659820
Lou013
Derp Garage Founder
Posté le 18-12-2007 à 12:02:02  profilanswer
 

Merci  
 
Je parcours 2 fois pour faire un broadcast des messages du chat
 
mais j'ai plutot utilisé une boucle for, plus rapide et moins de problemes qu'avec les itérateurs...


---------------
[topic des lieux abandonnés] | "Sur HFR chacun a raison et les autres sont des cons"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Parcourir une arrayList, probleme iterateur

 

Sujets relatifs
Probleme de lottoProblème installation Oracle 10g sous Windows Vista
Problème Event.observer[problème] coder base 2 en base 10
[C++] Problème d'allocation dynamique[C#] Problème d'emulation sur Visual Studio (Windows CE 5.0)
Problème avec un select[c++][resolu]Problème de compilation.
($résolu = 'ok') probleme avec FALSE et TRUEProbleme sur la suite de conway en java !
Plus de sujets relatifs à : Parcourir une arrayList, probleme iterateur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR