【发布时间】:2015-04-18 02:11:10
【问题描述】:
我在一个文件中有一百万行。从每一行创建一个对象并将其添加到集合中。必须使用类的自定义 compareTo() 方法对集合进行排序。
目前我按阅读顺序将对象添加到ArrayList,然后执行Collections.sort()。
制作 TreeSet 会更快吗?
【问题讨论】:
-
你为什么不试试看?
-
可能会慢一些,但试用大约需要三行代码。
-
@FINDarkside,我现在还是个初学者,所以我不仅想看看它的实际效果,还想了解它背后的理论。我现在正在尝试。
-
arraylist 的添加操作复杂度为 O(n),排序后需要时间 n log(n) 并且在同一级别树集具有内置的自定义比较器,添加和复杂度为 log(n)对于 addall() 操作将给出 O(n log n)