Eliminare duplicati ArrayList

di il
19 risposte

19 Risposte - Pagina 2

  • Re: Eliminare duplicati ArrayList

    AleX3mE ha scritto:


    E nel mio caso, avendo già creato la lista di mille oggetti, come proseguo...perchè con questo esempio non ci capisco molto.
    Quel tuo:

    ArrayList<Quadrato> ListaQuadrati = new ArrayList<Quadrato>(); //Lista

    è concettualmente quello che nel mio esempio è:

    ArrayList<Persona> persone = ....


    Quindi: a) hai creato la lista, b) hai inserito 1000 oggetti Quadrato nella lista

    Ora prosegui con l'iteratore come ti ho mostrato nell'esempio. Ovviamente DOPO il tuo for che inserisce i 1000 quadrati.
  • Re: Eliminare duplicati ArrayList

    Mi segna un errore qui:
    Iterator<Quadrato> duplicati= Quadrato.iterator();
    Multiple markers at this line
    - The method iterator() is undefined for the type Iterator<Quadrato>


    inoltre nel if come dovrei comparare lato == lato?
  • Re: Eliminare duplicati ArrayList

    Il iterator() devi invocarlo sulla tua variabile della lista ... non sul nome della classe Quadrato.
  • Re: Eliminare duplicati ArrayList

    andbin ha scritto:


    Il iterator() devi invocarlo sulla tua variabile della lista ... non sul nome della classe Quadrato.
    ok, ora però se faccio partire mi stampa questo:
    []. è sbagliato l if?

    ho fatto:
    if (lato == lato)
    {
    personeiter.remove();
    }
  • Re: Eliminare duplicati ArrayList

    AleX3mE ha scritto:


    ok, ora però se faccio partire mi stampa questo:
    []. è sbagliato l if?
    Sì, non ha senso. lato == lato è una condizione SEMPRE "vera" e quindi fai remove su tutto!!

    Leggi bene qui:

    Per ciascun Quadrato estratto da next(): il lato esiste nel HashSet<Integer>?
    Se sì (il lato è un duplicato), rimuovi il Quadrato. Se no, inserisci il lato nel set.

    P.S. ma cerca anche di capire il senso!
Devi accedere o registrarti per scrivere nel forum
19 risposte