我有一个文件列表,我想根据上次访问时间按降序排序.以下两种方式有哪些更好的方法:
编写一个自定义比较器,它具有相反顺序比较的逻辑
编写一个客户比较器,它具有按升序进行比较的逻辑,然后调用Comparator.reversed()调用方法
我更喜欢#1因为reversed()将再次花费O(n)时间,其中n等于列表的大小.我想知道这里的人们的意见.
所有Comparator.reversed()这一切都是通过为Comparator按自然顺序排序的目标创建一个新的包装器对象来反转参数的顺序.而不是(a, b)比较(b, a).它不会将列表作为自然顺序排序后的最后一步反转.
排序列表的成本将是相同的.如果您的数据很大且已经预先排序,排序方向将很重要,但对于小型集合,它没有实际区别.
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |