ArrayList和LinkedList之间的差异
ArrayList和LinkedList都实现了List接口并保持插入顺序。两者都是非同步类。
但是,下面给出的ArrayList和LinkedList类之间有很多区别。
ArrayList |
LinkedList |
ArrayList在内部使用动态数组存储元素。 |
LinkedList在内部使用双向链接列表来存储元素。 |
使用ArrayList的操作慢,因为它在内部使用数组。如果从数组中删除了任何元素,则所有位都将在内存中移位。 |
使用LinkedList进行操作要比ArrayList快 ,因为它使用了双向链接列表,因此不需要在内存中进行任何移位。 |
ArrayList类仅可以实现List,因此可以充当列表。 |
LinkedList类可以充当列表和队列,因为它实现了List和Deque接口。 |
ArrayList是更好的存储和访问数据数据。 |
LinkedList是更好的数据处理方式。 |
Java中ArrayList和LinkedList的示例
让我们看一个简单的示例,其中我们同时使用ArrayList和LinkedList。
import java.util.*;
class TestArrayLinked{
public static void main(String args[]){
List<String> al=new ArrayList<String>();
al.add("Ravi");
al.add("Vijay");
al.add("Ravi");
al.add("Ajay");
List<String> al2=new LinkedList<String>();
al2.add("James");
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]