【发布时间】:2015-07-29 04:59:18
【问题描述】:
在 JDK 1.8 中,java.util.List#sort(Comparator) 方法的第一条语句如下:
Object[] a = this.toArray();
将列表复制到数组中,对其进行排序,然后将列表的每个节点重置为数组中排序后的值,成本很高。
在对ArrayList 进行排序时,似乎可以不将值复制到临时数组中。我对吗?如果没有,是什么指导了该方法的创建者?
【问题讨论】:
-
列表实现有很多,包括链表,其中对列表本身进行排序可能成本更高。
-
"在 ArrayList 的情况下,似乎可以不将值复制到数组。" - 这正是它的完成方式。
-
感谢您的快速回复。
标签: java arrays list sorting java-8