Originariamente inviato da Tiele7
Salve ho un problema,
sto scrivendo un programma in java.Ora sono arrivata ad un punto dove non so se posso o no scrivere un determinato codice:
Ho due liste di Integer, voglio inserire in una terza lista tutti gli elementi della prima lista non presenti nella seconda senza ammissione di doppioni
Il codice è il seguente:
codice:
private static List<Integer> compara(List<Integer> l1, List<Integer> l2){
      LinkedList<Integer> res=new LinkedList<Integer>();
      List<Integer> l3= eliminaDoppi(l1);//metodo scritto successivamente
      Iterator<Integer> it3= l3.iterator();
      Iterator<Integer> it2= l2.iterator();
      for(;;){
              if(!it3.hasNext()) break;
              Integer i3=it3.next();
              while(it2.hasNext()){
                   Integer i2=it2.next();
                   if(i2==i3)break;
              }
              res.add(i3);
        }
        return res;
}
Usa i Tag CODE per presentare il tuo codice.

Detto questo, l'uso dell'iteratore è inutile...puoi scorrere le liste come se fossero array o quasi.
codice:
private static List<Integer> compara(List<Integer> l1, List<Integer> l2){
      LinkedList<Integer> l3 = new LinkedList<Integer>();

      for(int i = 0; i < l1.size(); i++){
           if( l2.indexOf( l1.get(i) ) == -1 && l3.indexOf( l1.get(i) ) == -1 )
               l3.add( l1.get(i) );
      }

      return l3;
}