ArrayList和LinkedList都实现List接口并维护插入顺序。两者都是非同步类。
但是, 下面给出的ArrayList和LinkedList类之间有很多区别。
数组列表 | 链表 |
---|---|
1)ArrayList在内部使用动态数组存储元素。 | LinkedList在内部使用双向链表来存储元素。 |
2)使用ArrayList进行操作很慢, 因为它在内部使用数组。如果从阵列中删除了任何元素, 则所有位都将在内存中移位。 | 使用LinkedList进行操作要比ArrayList快, 因为它使用了双向链接列表, 因此内存中不需要移位。 |
3)ArrayList类只能用作列表, 因为它仅实现List。 | LinkedList类可以实现列表和队列, 因为它实现了List和Deque接口。 |
4)ArrayList更适合存储和访问数据。 | LinkedList更适合处理数据。 |
让我们看一个简单的示例, 其中我们同时使用ArrayList和LinkedList。
import java.util.*;
class TestArrayLinked{
public static void main(String args[]){List<
String>
al=new ArrayList<
String>
();
//creating arraylist
al.add("Ravi");
//adding object in arraylist
al.add("Vijay");
al.add("Ravi");
al.add("Ajay");
List<
String>
al2=new LinkedList<
String>
();
//creating linkedlist
al2.add("James");
//adding object in linkedlist
al2.add("Serena");
al2.add("Swati");
al2.add("Junaid");
System.out.println("arraylist: "+al);
System.out.println("linkedlist: "+al2);
}
}
【ArrayList和LinkedList之间的区别】立即测试
输出:
arraylist: [Ravi, Vijay, Ravi, Ajay]
linkedlist: [James, Serena, Swati, Junaid]
推荐阅读
- ArrayList和Vector之间的区别
- Java Comparator接口
- Java Comparable接口
- Java中的集合
- Java WindowListener接口
- Java MouseMotionListener接口
- Java MouseListener接口
- 39个无需注册的最佳免费电子书下载网站推荐合集
- 路由器上的WPS按钮是什么(它是如何工作的?)