Java :: LinkedList 真的比 ArrayList 快吗?



我观察到,与LinkedList相比,ArrayList中的插入操作花费的时间(以毫秒为单位(更少。请对此有所说明。

这是我的测试代码

List<String> strLnkdList = new LinkedList<String>();
long start1 = System.currentTimeMillis();
for(int i=0;i<10000;i++){
    strLnkdList.add("Test"+i);
}
long end1 = System.currentTimeMillis();
System.out.println("LinkedList Time in millis: " + (end1-start1));
List<String> strArrayList = new ArrayList<String>(10);
start1 = System.currentTimeMillis();
for(int i=0;i<10000;i++){
    strArrayList.add("Test"+i);
}
end1 = System.currentTimeMillis();
System.out.println("ArrayList Time in millis: " + (end1-start1));

输出:

LinkedList Time in millis: 22
ArrayList Time in millis: 10

链表只需要更改要删除的节点的两个相邻节点(元素(中的指针位置。

数组列表 需要移动所有元素以填充已删除元素创建的空间。

有些人想象阵列的积木塔使其缩短 1 个街区,您必须将其拉出,然后将每个块向下移动 1

对于链表,就像你有一个包含块的字符串,你只是剪切它

相关内容

  • 没有找到相关文章

最新更新