|  for (int i=0;i<3;i++){
|  lst.remove(i);

lst.remove(0)とした瞬間に、いままでlst.elementAt(1)だったものがlst.elementAt(0)になってるということは理解してますか?