`

数组排序开销为何比List要小?

阅读更多

A final approach to achieving failure atomicity is to perform the operation on
a temporary copy of the object and to replace the contents of the object with the
temporary copy once the operation is complete. This approach occurs naturally
when the computation can be performed more quickly once the data has been
stored in a temporary data structure. For example, Collections.sort dumps its
input list into an array prior to sorting to reduce the cost of accessing elements in
the inner loop of the sort. This is done for performance, but as an added benefit, it
ensures that the input list will be untouched if the sort fails.

 

其中说到Collections.sort方法是在排序前将其input list复制至array中,以减少排序的内层循环访问元素的开销,这里List为什么会开销更大呢?List的哪些具体结构特性决定了这个?

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics