我一直只是一个人使用:
List<String> names = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
我使用接口作为可移植性的类型名称,因此当我问这些问题时,我可以重新编写代码.
何时应该LinkedList使用,ArrayList反之亦然?
以下相对性能统计数据表示此类:
Run Code Online (Sandbox Code Playgroud)get add insert iterate remove TreeList 3 5 1 2 1 ArrayList 1 1 40 1 40 LinkedList 5800 1 350 2 325
它继续说:
LinkedList很少是一个很好的实施选择.TreeList它几乎总是一个很好的替代品,虽然它确实使用了更多的内存.
我的问题是:
什么是与ArrayList add,
insert和remove次粉碎
LinkedList?我们是否应该期望,真实世界的插入和移除案例非常有利ArrayList?
这TreeList简直就是钉在古老的棺材里LinkedList吗?
我很想得出结论,他们已经摊销或忽略了ArrayList成长的痛苦,并没有考虑到LinkedList已经找到的物品的插入和移除时间.