How can I measure the performances using a LinkedList and ArrayList?

时间:2018-12-03 13:21:17

标签: java arraylist linked-list

I had implement bubble and quick sort algorithms and now I have to measure their performances using the following code for a LinkedList and ArrayList.

Instant start = Instant.now();
Sort…
Instant stop = Instant.now();
Duration duration = Duration.between(start, stop);
System.out.println(duration);

Why do we get different times when using ArrayList vs LinkedList ?

2 个答案:

答案 0 :(得分:0)

因为它们的结构不同。 例如,ArrayList的迭代速度更快,而LinkedList的插入和删除速度更快。

答案 1 :(得分:0)

ArrayListLinkedList具有不同的实现方式。

ArrayList检索元素可以在O(1)中完成,因为您只需要知道元素的索引,就可以直接从存储它的数组中检索它。使用LinkedList,您需要在获取请求的元素之前对列表中的元素进行迭代,因此可以在O(n)中完成。

这种差异可以传播到您的排序时间。