关键区别–arraylist与linkedlist
集合对于存储数据很有用。在普通数组中,数组大小是固定的。有时需要创建可以根据需要增长的阵列。Java等编程语言有集合。它是一个包含一组类和接口的框架。它充当一组元素的容器。集合允许存储、更新、检索元素集。它有助于处理数据结构,如列表、集合、树和地图。列表是集合框架的一个接口。ArrayList和LinkedList是collecti***框架中的两个类。它们实现了集合接口和列表接口。本文讨论ArrayList和LinkedList之间的区别。ArrayList是一个扩展AbstractList并实现List接口的类,该接口在内部使用动态数组来存储数据元素。LinkedList是一个扩展AbstractSequentialList并实现List、Deque和Queue接口的类,这些接口在内部使用双链接列表来存储数据元素。这就是ArrayList和LinkedList之间的关键区别。
目录
1. 概述和主要区别
2. 什么是ArrayList
3. 什么是LinkedList
4. ArrayList和LinkedList之间的相似性
5. 并列比较——ArrayList与LinkedList以表格形式显示
6. 摘要
什么是数组表(arraylist)?
ArrayList类用于创建动态数组。与常规数组不同,动态数组的大小不固定。使用ArrayList类创建的对象允许在列表中存储一组元素。容量自动增加,这样程序员就可以向列表中添加元素。ArrayList类扩展了实现列表接口的AbstractList类。因此,ArrayList可以使用列表接口的方法。要访问元素,使用get()方法。add()方法可用于向列表中添加元素。方法用于从列表中删除元素。请参阅以下程序。
根据上面的程序,创建了一个ArrayList对象。使用add方法,可以动态地添加元素。元素“A”、“B”、“C”、“D”和“E”是使用add方法添加的。remove方法用于从列表中删除元素。将4传递给remove方法时,第4个索引中的字母“E”将从列表中移除。当使用for循环遍历列表时,将打印字母A、B、C和D。
什么是双链表(linkedlist)?
与ArrayList类似,LinkedList用于动态存储数据元素。允许使用LinkedList类创建的对象在列表中存储一组元素。容量会自动增加,因此程序员可以向列表中添加元素。它内部使用双链表来存储数据。在双链接列表中,数据作为节点存储。每个节点包含两个链接。第一个链接指向上一个节点。下一个链接指向序列中的下一个节点。
LinkedList类扩展AbstractSequentialList类并实现List接口。因此,LinkedList可以使用List接口的方法。get()方法可用于访问列表的元素。add()方法可用于将元素添加到列表中。remove()方法用于从列表中移除元素。参考以下程序。
根据上述程序,创建LinkedList对象。使用add方法,可以动态地添加元素。元素“A”、“B”、“C”、“D”和“E”是使用add方法添加的。remove方法用于从列表中删除元素。将4传递给remove方法时,第4个索引中的字母“E”将从列表中删除。当使用for循环迭代时,将打印字母A、B、C和D。
数组表(arraylist)和双链表(linkedlist)的共同点
- ArrayList和LinkedList都实现了列表接口。
- ArrayList和LinkedList都可以包含重复的元素。
- ArrayList和LinkedList都维护**顺序。
数组表(arraylist)和双链表(linkedlist)的区别
ArrayList与LinkedList | |
ArrayList是一个扩展AbstractList并实现List接口的类,该接口在内部使用动态数组来存储数据元素。 | LinkedList是一个扩展AbstractSequentialList并实现List、Deque、Queue接口的类,后者在内部使用双链接列表来存储数据元素。 |
访问元素 | |
访问ArrayList的元素比LinkedList的快。 | 访问LinkedList的元素比访问ArrayList慢。 |
操纵元素 | |
操作ArrayList的元素比LinkedList慢。 | 操作LinkedList的元素比ArrayList快。 |
行为 | |
ArrayList作为一个列表执行。 | LinkedList作为列表和队列执行。 |
总结 - 数组表(arraylist) vs. 双链表(linkedlist)
集合框架允许使用数据结构,如列表、树、地图和集合。列表是集合框架的一个接口。本文讨论了ArrayList和LinkedList之间的区别。ArrayList是一个扩展AbstractList并实现List接口的类,该接口在内部使用动态数组来存储数据元素。LinkedList是一个扩展AbstractSequentialList并实现List、Deque、Queue接口的类,后者在内部使用双链接列表来存储数据元素。这就是ArrayList和LinkedList之间的区别。