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>();//creating arraylist
al.add("Java");//adding object in arraylist
al.add("Python");
al.add("Ruby");
al.add("golang");
List<String> al2=new LinkedList<String>();//creating linkedlist
al2.add("Java");//adding object in linkedlist
al2.add("Python");
al2.add("Ruby");
al2.add("C/C++");
System.out.println("arraylist: "+al);
System.out.println("linkedlist: "+al2);
}
}
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:ArrayList 和 LinkedList 的区别
本文链接:https://www.vsdiffer.com/vs/arraylist-vs-linkedlist.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。