devo eliminare i duplicati di un array list
io ho usato le funzioni indexOf e Lastindexof
ma non riesco a capire perchè non funzioni

codice:
static void eliminaDuplicati(ArrayList<Integer> a) {
 for (int i = 0; i <a.size(); i++) {
 if (a.indexOf(a.get(i)) < a.lastIndexOf(a.get(i))) { 
a.remove(a.lastIndexOf(a.get(i)));
 } 
}
}
esempio
[2, 2, 2, 2, 2, 4]
[2, 2, 2, 2, 4]
[2, 2, 2, 4]
[2, 2, 4]
[2, 2, 4]