Java 创建一个(对象的)SortedSet并向其中插入元素,或者创建一个ArrayList并在之后对其进行排序,速度更快吗?
我的档案里有一百万行。从每一行创建一个对象,并将其添加到集合中。必须使用类的自定义Java 创建一个(对象的)SortedSet并向其中插入元素,或者创建一个ArrayList并在之后对其进行排序,速度更快吗?,java,sorting,arraylist,Java,Sorting,Arraylist,我的档案里有一百万行。从每一行创建一个对象,并将其添加到集合中。必须使用类的自定义compareTo()方法对集合进行排序 目前,我按照读取顺序将对象添加到ArrayList,然后执行Collections.sort() 制作TreeSet会更快吗?这两种方法都有,为什么不试一下呢?可能会慢一些,但试一下大约需要三行代码。@FINDarkside,我现在是初学者,所以我不仅希望看到它的实际应用,而且希望了解它背后的理论。我现在正在尝试。arraylist对于add操作的复杂性为O(n),排序后需
compareTo()
方法对集合进行排序
目前,我按照读取顺序将对象添加到ArrayList
,然后执行Collections.sort()
制作TreeSet会更快吗?这两种方法都有,为什么不试一下呢?可能会慢一些,但试一下大约需要三行代码。@FINDarkside,我现在是初学者,所以我不仅希望看到它的实际应用,而且希望了解它背后的理论。我现在正在尝试。arraylist对于add操作的复杂性为O(n),排序后需要时间n log(n),在同一级别上,treeset内置了自定义比较器,对于add,复杂性为log(n),对于addall()操作,复杂性为O(n log n)看看这个问题: