最佳答案
是的,这是一个老话题,但我仍然有一些困惑。
在爪哇,人们说:
如果我随机访问它的元素,ArrayList 比 LinkedList 快。我认为随机访问的意思是“给我第 n 个元素”。为什么数组列表更快?
LinkedList 的删除速度比 ArrayList 快。我明白这个。由于需要重新分配内部备份数组,因此 ArrayList 的速度较慢。代码解释:
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.remove("b");
System.out.println(list.get(1)); //output "c"
LinkedList is faster than ArrayList for insertion. What does insertion mean here? If it means to move some elements back and then put the element in the middle empty spot, ArrayList should be slower than LinkedList. If insertion only means an add(Object) operation, how could this be slow?