Sono perfettamente d'accordo con te sui tuoi problemi di comprensione del codice.
Io ho fatto molto di più che consigliarti di usare il TreeSet, ti ho scritto il metodo che ti restituisce il vettore senza doppioni. Ma capisco che deve essere difficile inserirlo nel tuo codice ed invocarlo.