Я пытаюсь заменить элемент списка 2 на номера массивов. Желаемый результат в коде (ищите OUTPUT). У меня вопрос: Как итератор может быть зафиксирован в позиции при добавлении чисел? Возможно ли, и если нет, то есть ли другой способ решить эту проблему?
// List init
List<Integer> list = new ArrayList<Integer>();
for(int i=0; i< 4; i++) list.add(i);
System.out.println("list before change : " + list); // OUTPUT : [0, 1, 2, 3]
ListIterator<Integer> it = list.listIterator(list.size() - 1);
int[] nums = {1,2,3,4,5};
while(it.hasPrevious()) {
if(it.previous().equals(2)) {
it.remove();
for(int num : nums) it.add(num);
//for(int num : nums) it.previous(); // IS THIS THE ONLY WAY TO THE SOLUTION?
}
}
System.out.println("list after change : " + list); // OUTPUT : [0, 1, 1, 2, 3, 4, 5, 3]