java - Removing tail of X elements from a List - Stack Overflow
subList(list.size() - N, list.size()).clear()
is the recommended way to remove the last N
elements. Indeed, the Javadoc for subList
specifically recommends this idiom:
This method eliminates the need for explicit range operations (of the sort that commonly exist for arrays). Any operation that expects a list can be used as a range operation by passing a subList view instead of a whole list. For example, the following idiom removes a range of elements from a list:
list.subList(from, to).clear();
Indeed, I suspect that this idiom might be more efficient (albeit by a constant factor) than calling removeLast()
N
times, just because once it finds the N
th-to-last node, it only needs to update a constant number of pointers in the linked list, rather than updating the pointers of each of the last N
nodes one at a time.
Read full article from java - Removing tail of X elements from a List - Stack Overflow
No comments:
Post a Comment