Quote Originariamente inviata da francesco.muia Visualizza il messaggio
Scorri la lista tramite un java.util.Iterator e su questo ultimo chiame il remove appena si verifica la condizione che ti interessa
si grazie del consiglio, ci sono riuscito. ^_^

ho un altro problema...non capisco perchè il metodo isEmpty() mi segnala errore. Ti scrivo il codice.

Questo è un metodo di una classe:

codice:
private ArrayList<rispLista> cercaMessaggio(String id, Utente u) {        System.out.println("--------cerca messaggio--------");
        ArrayList<rispLista> nM=new ArrayList<rispLista>();
        ArrayList<rispLista> nM2=new ArrayList<rispLista>();
        invioMessaggio iM = new invioMessaggio(u.getidUtente(), listaM);


                nM=iM.vediMessaggi(u);
                
                System.out.println("----vedi M-------");
                
                if(!nM.isEmpty()){
                    System.out.println("entra");
                Iterator<rispLista> itM1=nM.iterator();
                while(itM1.hasNext()){
                    rispLista rp=itM1.next();
                    if(rp.getId_mes().equals(id)){
                        nM2.add(rp);
                    }
                }
                
                System.out.println("------fine M-----");
                
                
                
                }else nM2=null;
                System.out.println("---------fine mex--------");
                return nM2;
            }

Mentre nel main faccio dei controlli...

codice:
idU = cercaUtente(richiesta.getIdUtente());                    if(idU!=null){
                    nM=cercaMessaggio(richiesta.getIdMessaggio(),idU);
                    System.out.println("prova isEMPITY nM"+!nM.isEmpty());
                    if(!nM.isEmpty()){System.out
                            .println("-------Visualizza lista nM----------");
                    Iterator<rispLista> itR=nM.iterator();
                    while(itR.hasNext()){
                        rispLista rrr=itR.next();
                        }
                    System.out.println("-----fine lista nM-------");
   }else{
                        risposta = new Risposta("HTTP/1.0", "400", "ERROR",
                                    "Messaggio " + richiesta.getIdMessaggio()
                                            + " non esiste");
                    }
}
Quando l'array nM è null mi segnala un errore all'istruzione if(!nM.isEmpty()), mentre dovrebbe entrare nell'else

"Exception in thread "pool-1-thread-2" java.lang.NullPointerException"<----ERRORE