是的,这是一个古老的话题,但是我仍然有些困惑。
在Java中,人们说:
如果我随机访问它的元素,ArrayList比LinkedList快。我认为随机访问的意思是“给我第n个元素”。为什么ArrayList更快?
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的插入速度比ArrayList快。插入在这里是什么意思?如果这意味着将某些元素移回然后将其放在中间的空白位置,则ArrayList应该比LinkedList慢。如果插入仅意味着add(Object)操作,这怎么会慢呢?
至尊宝的传说
相关分类