Java中LinkedList真的是查找慢增删快
废话不多说,先上测试结果。作者分别在ArrayList和LinkedList的头部、尾部和中间三个位置插入与查找100000个元素所消耗的时间来进行对比测试,下面是测试结果。源码可以看出,对ArrayList的尾部插入,直接插入即可,无须额外的操作。源码add(E e)方法,该方法中调用了linkLast(E e)方法linkLast(E e)方法,可以看出,在尾部插入的时候,并不需要从头开始遍历整个链表,因为已经事先保存了尾结点,所以可以直接在尾结点后面插入元素对于尾部插入而言,ArrayList与LinkedList的性能几乎是一致的源码add方法,可以看到通过调用系统的数组复制方法来实现了元素的移动。
下载地址
用户评论