Java ArrayList和LinkedList的区别
ArrayList和LinkedList都是Java中List接口的实现。这两个类都不是线程同步的。但是它们之间也有一些不同。
以下是ArrayList和LinkedList方法之间的重要区别。
序号 | 键 | ArrayList | LinkedList |
---|---|---|---|
1 | 内部实现 | ArrayList 内部使用动态数组来存储其元素。 | LinkedList 使用双向链表来存储其元素。 |
2 | 操作 | 由于数组操作速度较慢,ArrayList 操作较慢。 | 由于基于节点,LinkedList 操作速度较快,不需要进行太多的位移操作。 |
3 | 实现 | ArrayList 只实现了 List 接口。 | LinkedList 不仅实现了 List 接口,还实现了 Queue 接口,因此还可以充当队列。 |
4 | 访问 | ArrayList 在存储和访问数据方面速度较快。 | LinkedList 在数据操作方面速度较快。 |
ArrayList vs LinkedList 的示例
JavaTester.java
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class JavaTester {
public static void main(String args[]) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
List<String> list1 = new LinkedList<>();
list1.add("A");
list1.add("B");
list1.add("C");
list1.add("D");
System.out.println(list);
System.out.println(list1);
}
}
输出
[A, B, C, D]
[A, B, C, D]