Originariamente inviato da Tufo
Salve ragazzi, questo è il mio primo post quindi vi chiedo di scusarmi se commetto qualche errore. Vi presento il mio problema: ho una lista di "viaggi" che collega dei nodi (i,j)...il problema è che in questa lista ho sia il viaggio v(i,j) che v(j,i)...io vorrei eliminare uno dei due.

Ho provato a fare in questo modo, ma non funziona:

for (Saving s1 : savings) {
for (Saving s2 : savings) {
if(s1.getFirstNode() == s2.getSecondNode() && s1.getSecondNode() == s2.getFirstNode()){
savings.remove(s2);
}
}
}
Metti il codice fra tag [CODE].

In generale quel codice non può funzionare, l'uguaglianza fra oggetti non si verifica con l'operatore == (che verifica se due riferimenti puntano allo stesso oggetto) ma col metodo equals() o con qualche altro metodo. Però dipende dal tipo di questi "nodi".

Per eliminare i duplicati da una lista, puoi semplicemente convertirla in un insieme (che non ammette duplicati) e poi da questo ricreare una lista.