【发布时间】:2026-01-31 01:15:01
【问题描述】:
我在另一个问题中问为什么在读取文件和创建列表时,arraylist 似乎比linkedlist 更快。我现在尝试添加到列表的前面或列表的后面。 Arraylist 还是更快。
我只是想确保我正确使用了这些东西。这就是我正在做的事情:
public class LinkedListTest {
private List<String> Names;
public LinkedListTest(){
Names = new LinkedList<String>();
}
然后我只使用链表方法,即“Names.add(strings)”。当我测试数组列表时,它几乎是相同的:
public class ArrayListTest {
private List<String> Names;
public ArrayListTest(){
Names = new ArrayList<String>();
}
我做得对吗?事实上,将构造函数方法中的列表类型从 ArrayList 更改为 LinkedList 几乎是我在比较速度时在代码中所做的唯一更改。这是正确的做法吗?
编辑: 哦,我只是在 add 函数之前和之后做 System.currentTimeMillis() 来测量时间。
【问题讨论】:
-
发布你的完整基准测试——为 JVM 编写正确的微基准测试并不那么容易(例如,你最好在基准测试之前至少调用每个方法一次 [我认为最多几千次] 等等) .我敢打赌,在您的第一次测试中,类加载器还必须加载其他一些东西,等等。
标签: java arraylist linked-list