ArrayList和LinkedList都实现List接口并维护插入顺序。两者都是非同步类。
但是, 下面给出的ArrayList和LinkedList类之间有很多区别。
数组列表 | 链表 |
---|---|
1)ArrayList在内部使用动态数组存储元素。 | LinkedList在内部使用双向链表来存储元素。 |
2)使用ArrayList进行操作很慢, 因为它在内部使用数组。如果从阵列中删除了任何元素, 则所有位都将在内存中移位。 | 使用LinkedList进行操作要比ArrayList快, 因为它使用了双向链接列表, 因此内存中不需要移位。 |
3)ArrayList类只能用作列表, 因为它仅实现List。 | LinkedList类可以实现列表和队列, 因为它实现了List和Deque接口。 |
4)ArrayList更适合存储和访问数据。 | LinkedList更适合处理数据。 |
Java中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: [Ravi, Vijay, Ravi, Ajay]
linkedlist: [James, Serena, Swati, Junaid]
评论前必须登录!
注册