Для простоты предположим, что у меня есть ArrayList
, индексы которого содержат ровно одно однозначное целое число. Например:Удаление подписок из ArrayList
6 4 5 6 0 6 3 4 1 6 1 6 0 6 8 3
Я хотел бы, чтобы отфильтровать все вхождения подсписке 6 0 6
, таким образом, что новый список становится:
6 4 5 3 4 1 6 1 8 3
Есть ли способ сделать это? Использование ListIterator
, похоже, не работает для меня, потому что я должен рассматривать три последовательных элемента вместе, и я честно не знаю, как это сделать.
Вот скелет метода я реализовал:
public static void filterList(ArrayList<Integer> list) {
ListIterator<Integer> iterator = list.listIterator();
int elem;
while (iterator.hasNext()) {
// Remove any sublist of 6 0 6
}
}
Edit: Опять же, для простоты, давайте предположим, что не будет иметь место случаи, когда мы имеем 60606 или аналогичный.
Почему нельзя использовать 'list.removeAll (подсписок)' –
Что будет, если вход 60606? – Naruto
@Naruto Для этого не имеет значения. Я только пытался проиллюстрировать эту идею. –