import java.util.ArrayList;
import java.util.Collections;
public class ListaInt{
public static void main(String []args){
ArrayList<Integer> objtlista = new ArrayList<Integer>();
int n =3;
//autoboxing converte automaticamente
objtlista.add(n);
objtlista.add(50);
objtlista.add(2);
objtlista.add(5);
System.out.println("lista " + objtlista);
//ordeno a lista
Collections.sort(objtlista);
System.out.println("ordenada lista " + objtlista);
objtlista.remove(5);
System.out.println("Tamanho de minha lista " + objtlista.size());
}
}
O metodo remove() tem duas implementaçõs diferentes, uma recebe um int e outra um object. Da forma como vc fez vc esta usando o metodo que recebe um int portanto ele remove pelo indice.
Como vc criou um ArrayList com apenas 4 posiçoes dá o erro IndexOutOfException.
Experimenta criar mais umas duas posiçoes q funciona.
ou faz assim