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
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。