如果我需要删除列表中的元素,以下会比使用更好LinkedList
:
int j = 0;
List list = new ArrayList(1000000);
...
// fill in the list code here
...
for (Iterator i = list.listIterator(); i.hasNext(); j++) {
if (checkCondition) {
i.remove();
i = list.listIterator(j);
}
}
?
LinkedList
确实比 更有效地“删除和添加元素” ArrayList
,但LinkedList
作为双向链表需要更多内存,因为每个元素都被包装为一个Entry
对象。虽然我需要一个单向List
接口,因为我是按索引升序运行的。