Если я понял ваш вопрос, вы пытаетесь удалить все элементы из LinkedList
после первого четного числа. Мое решение состоит в том, чтобы получить индекс, по которому происходит четное число, и использовать subList(fromIndex, toIndex)
, чтобы удалить все элементы после toIndex
.
public static void main(String[] args) {
List<Integer> list = new LinkedList<>(Arrays.asList(3, 7, 9, 2, 4, 5, 17));
ListIterator<Integer> iterator = list.listIterator();
int toIndex = 0;
while (iterator.hasNext()) {
if (iterator.next() % 2 == 0) {
toIndex = iterator.nextIndex();
break;
}
}
list = list.subList(0, toIndex);
list.forEach(System.out::println);
}
Введите:
3
7
9
2
4
5
17
Выход:
3
7
9
2