リスト内の要素を削除する必要がある場合、以下を使用するよりも優れています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
インデックスの昇順で実行しているため、一方向のインターフェイスが必要ですが。