好奇JAVA开发LinkedList插入数据真的比ArrayList快吗?
这个没啥好不好奇的。数据结构决定了的。
链表插入数据就是将节点加入到尾部,算法时间复杂度是O(1),相当于插入数据的时间开销是一个常量。
ArrayList是基于数组的实现,插入数据时要看数组的容量够不够,容量足够的话和链表插入性能差不多,但如果不够就需要扩容,扩容就相当于建立一个新数组,把原来的数据复制过去,这个开销就比较大了,
所以在使用ArrayList时,如果指定了一个合适的Capacity,在使用时可以不扩容或者减少扩容次数,就可以提高程序的性能。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有