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