Qualcuno di voi potrebbe indicarmi un metodo per eliminare eventuali duplicati da un array...
grazie mille![]()
![]()
Qualcuno di voi potrebbe indicarmi un metodo per eliminare eventuali duplicati da un array...
grazie mille![]()
![]()
La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!
Intanto array di che tipo?? Poi cosa ne devi fare degli elementi duplicati? Devi creare un nuovo array (con meno elementi, si intende) o mettere gli elementi duplicati ad un certo valore?Originariamente inviato da hdtogo
Qualcuno di voi potrebbe indicarmi un metodo per eliminare eventuali duplicati da un array...
grazie mille![]()
![]()
Comunque non è difficile: scansioni tutto l'array elemento per elemento. Puoi usare un HashSet per tenere traccia degli elementi già trovati.
Per ogni elemento dell'array vai a vedere se c'è nel HashSet, se c'è, allora hai trovato un duplicato, se non c'è, lo inserisci nel HashSet.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
bè se proprio sei costretto ad usare un array (altrimenti perche nn usare un insieme), dipende un pò da che devi confrontare, 2 elementi int si confrontano in un attimo, mentre se devi operare su oggetti è conveniente implementare un metodo che faccia il confronto (es compareTo(), eguals()...) e in caso fargli estendere l'interfaccia comparable
scusate...vi faccio un esempio:
Ecco, in questo caso dovrei eliminare dal stringArr l'elemento Nome2codice:String string="Nome1;Nome2;Nome3;Nome2"; String[] stringArr=string.split(";");
La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!
allora usa il metodo boolean equals (String x) della classe string
dentro "set" hai tutti gli elementi. Siccome si tratta di un Set, non puo' contenere elementi duplicati. Nota solo che l'ordine in cui gli elementi compaiono nel set sara'codice:String string="Nome1;Nome2;Nome3;Nome2"; String[] stringArr=string.split(";"); Set<String> set = new HashSet<String>(); for(String s : stringArr) { set.add(s); }
1) Nome1; 2) Nome3; 3) Nome2
perche' l'ultimo "Nome2" che inserisci "fa sparire" il primo.
Se ti serve che gli elementi siano ordinati secondo qualche criterio puoi usare un TreeSet anziche' un HashSet.