JavaList
などで X 要素の範囲 (末尾など) を削除する効率的な方法はありますか?LinkedList
最後の要素を 1 つずつ削除することは明らかに可能であり、これにより O(X) レベルのパフォーマンスが得られるはずです。少なくともLinkedList
インスタンスでは、O(1) パフォーマンスを実現できるはずです (削除する最初の要素の周囲に参照を設定し、ヘッド/テール参照を設定することにより)。残念ながら、最後の要素を一度に削除したり削除しList
たりする方法はありません。LinkedList
現在、リストを使用して置き換えるList.subList()
ことを考えていますが、同等のパフォーマンスがあるかどうかはわかりません。少なくともコード内ではより明確になりますが、提供される追加機能は失われLinkedList
ます。
私は主にリストをスタックとして使用していますLinkedList
。少なくともセマンティクスに関しては、これが最良の選択肢のようです。