AleX3mE ha scritto:
Avrei bisogno di eliminare tutti i duplicati da una lista di oggetti, ma non riesco a venirne a capo.
Se vuoi rimuovere gli oggetti in più che hanno lo stesso lato, innanzitutto sarebbe utile usare una collezione temporanea, un "set" (es. HashSet). Il punto è che ci sono almeno due soluzioni:
1) un HashSet<Integer> che contiene i lati (int -> Integer)
2) un HashSet<Quadrato> che contiene gli oggetti Quadrato ma SOLO se in Quadrato hai ridefinito opportunamente equals/hashCode per stabilire la "uguaglianza" tra due oggetti diversi Quadrato basandosi appunto sul lato.
Poi per rimuovere dalla lista, sarebbe meglio usare l'iteratore esplicitamente (non il for-each) poiché puoi usare il suo remove(). Poi indipendentemente dalla soluzione 1) o 2), semplicemente: c'è già nel set quel lato/quadrato? Se sì, rimuovi il Quadrato, se no inserisci lato/quadrato nel set.