Java 中何时使用 ArrayList 和 LinkedList

2024年9月5日 | 1 分钟阅读

ArrayList 对于搜索操作提供常量时间,所以如果搜索操作比添加和删除操作更频繁,则最好使用 ArrayList。LinkedList 为添加和删除操作提供常量时间。因此,对于操作,最好使用 LinkedList。

ArrayList 通过 get 和 set 方法访问元素的时间复杂度为 O(1)。

LinkedList 访问元素的复杂度为 O(n/2)。

LinkedList 类也实现了 Deque 接口,因此您可以在 LinkedList 中获得双端队列的功能。ArrayList 类没有实现 Deque 接口。

在排序方面,ArrayList 更擅长访问数据,而 LinkedList 更擅长操作数据。这两个类都实现了 List 接口。

ArrayList 示例

输出

Traversing ArrayList...
ankit
peter
mayank

LinkedList 示例

输出

After adding: [ankit, peter, mayank]
After removing: [ankit, mayank]
After changing: [ankit, vivek]