Я хочу перебирать какой-то список, проверяя, соответствуют ли его элементы свойству, и если они не удаляют их из массива. То, что я думал, что это что-то вроде этого:Итерация через список элементов удаления
int index = 0;
for(int i = 0; i < list.size(); ++i) {
if(list.isProperty()) list.delete(index) //We delete the element at list[index]
else ++index;
}
Может быть, это не те реальные методы интерфейса списка в Java, но они вполне очевидны.
Это хороший подход? Какая структура данных лучше всего подходит, если мне придется многократно запускать эту операцию? Я не думаю, что arrayList будет работать, так как мне придется перемещать элементы каждый раз, когда я удаляю, и я не могу гарантировать, что элементы, которые я удалю, также находятся в голове или в хвосте списка.
двунаправленных списков есть O (1) раз делеции, как это просто установка ссылок по-разному. – hexafraction
Существует ли реализация двусвязных списков в java-библиотеках? Я не смог его найти. Я действительно искал что-то подобное. Как и std :: list из C++ – Setzer22
[LinkedList] (http://docs.oracle.com/javase/1.4.2/docs/api/java/util/LinkedList.html) на самом деле дважды связан с беглым рассмотрением javadoc. – hexafraction