ArrayList插入影响

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);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容