Решил задачу, но долго ломал голову, в чем проблема. Но, честно говоря, до сих пор не понимаю, если list.remove(2) убирает элемент и сдвигает список, то почему в переборе для вывода на экран, вот такая запись - " int j = ist.sizle(); ", ведь элемент уже убран из списка ?