【发布时间】:2013-09-15 02:16:43
【问题描述】:
List li = new LinkedList();
for (int i = 0; i < 100; i++) {
li.add(i);
}
long start1 = System.nanoTime();
li.get(57);
long end1 = System.nanoTime();
long diff1 = end1-start1;
System.out.println("Time taken by LinkedList = "+diff1);
List al = new ArrayList();
for (int i = 0; i < 100; i++) {
al.add(i);
}
无论我对这两个列表执行什么操作,当我打印出所用时间时,ArrayList 总是比 LinkedList 运行得快。 有人可以解释哪个在所花费的时间方面表现更好吗? 如果代码有问题,也请告诉我。谢谢!
【问题讨论】:
-
你检查stackoverflow.com/questions/322715/…了吗?此链接是相关问题中的第一个
-
对于 100 个循环,差异可以忽略不计。尝试 1000 万或更多的循环。
-
@VaibhavDesai - 成功了!我增加了要添加到列表中的元素数量,现在我可以看到在 LinkedList 中随机索引处的插入比在 ArrayList 中更好
标签: java performance arraylist collections linked-list