trap88 ha scritto:
L’ordinemento devo farlo partendo dal valore 1 e così via lasciando il valore 0 all’ultimo posto.
Quindi un ordinamento molto "particolare". E sì, devi implementare Comparator<Integer> .
Il tuo comparator avrà il compare con 2 parametri Integer e ad ogni invocazione devi rispondere con un valore minore, maggiore o uguale a 0 per dire se il primo valore è minore, maggiore o uguale al secondo valore.
Siccome è un ordinamento con regole particolari (il trattamento di 0), avrai 2 casi particolari:
0 vs x (restituisci +1 per dire che 0 "viene dopo")
x vs 0 (restituisci -1 per dire che x "viene prima")
Nota: per
x qui intendo qualunque valore non 0.
Per qualunque altro caso puoi usare il compareTo di Integer, ovvero l'ordinamento "naturale" solito.
Prova a scriverlo, per dubbi chiedi.