Как исправить ListIterator при добавлении чисел - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь заменить элемент списка 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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...