Quote Originariamente inviata da minomic Visualizza il messaggio
Ecco un esempio:

codice:
import java.util.ArrayList;


public class StringheNonRipetute {
    
    public static void stampaLista(ArrayList<String> list) {
        for(String s : list)
            System.out.println(s);
    }
    
    
    public static void rimuoviDuplicati(ArrayList<String> list) {
        for(int i=0; i<list.size()-1; i++) {
            for(int j=i+1; j<list.size(); j++) {
                if(list.get(i).equals(list.get(j)))
                    list.remove(j);
            }
        }
    }
    
    
    public static void main(String[] args) {
        ArrayList<String> nomi = new ArrayList<>();
        nomi.add("Alessandro");
        nomi.add("Beatrice");
        nomi.add("Carlo");
        nomi.add("Alessandro");
        nomi.add("Carlo");
        nomi.add("Dario");
        
        stampaLista(nomi);
        
        rimuoviDuplicati(nomi);
        
        System.out.println();
        
        stampaLista(nomi);
    }


}


Allora il mio problema è il seguente:

Se metto

codice:
nomi.add(Nome[i])
i duplicati vengono rimossi però mi viene aperta tante volte la finestra contente la tabella con i dati quante sono le righe.
Evidentemente se metto fuori nomi.add(Nome[i]) non mi vengono eliminati i duplicati e mi viene visualizzata solo una tabella. Come posso risolvere ciò?

codice:
for(int i=0;i<righe;i++){
    
Nome[i]=op_.stampa_nome(i);


nomi.add(Nome[i]);

}




rimuoviDuplicati(nomi);
        
stampaLista(nomi);
codice:
public static void stampaLista(ArrayList<String> list) {

               


        for(String s : list){

//porzione di codice necessario per visualizzare la tabella funzionante


}
}
        
 
    public static void rimuoviDuplicati(ArrayList<String> list) {
        for(int i=0; i<list.size()-1; i++) {
            for(int j=i+1; j<list.size(); j++) {
                if(list.get(i).equals(list.get(j)))
                    list.remove(j);
            }
        }