是否有一种有效的方法可以从 a 中删除 X 元素的范围(例如尾部)List
,例如LinkedList
在 Java 中?
显然可以一个一个地删除最后一个元素,这应该会导致 O(X) 级别的性能。至少在LinkedList
某些情况下,应该有可能获得 O(1) 性能(通过设置要删除的第一个元素周围的引用并设置头/尾引用)。不幸的是,我没有看到任何方法,也没有List
一次LinkedList
删除最后一个元素。
目前我正在考虑使用替换列表,List.subList()
但我不确定这是否具有相同的性能。至少在代码中会更清楚,另一方面我会失去LinkedList
提供的附加功能。
我主要将 List 用作堆栈,这LinkedList
似乎是最好的选择,至少在语义方面。