ArrayList 采用数组存储,因此插入和删除元素的时间复杂度都受元素位置的影响。比如:执行 add(E e) 方法的时候, ArrayList 会默认将该元素追加到此列表的末尾,这种情况的时间复杂度就是 O(1)。但是如果要在指定位置 i 插入和删除元素的话(add(int index, E element)),那么时间复杂度就为 O(n-i),因为在进行上述操作的时候,集合中第 i 和第 i 个元素之后的 (n-i) 个元素,都要执行向后/前位移一位的操作。 ② LinkedList 采用的是链表存储,所以插入、删除元素时间复杂度不受元素位置的影响,都是近似 O(1),而数组为近似 O(n);
ArrayList插入影响
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 什么是数组? 数组简单来说就是将所有的数据排成一排存放在系统分配的一个内存块上,通过使用特定元素的索引作为数组的下...
- 转译自:https://examples.javacodegeeks.com本文在已发布在GitHub(https...
- 近日,由京山毓秀影视传媒有限公司制作出品,熊猫互动独家宣传发行的成长励志电影《米果的秋天》将于3月26日独家登陆腾...