数组表(arraylist)和双链表(linkedlist)的区别

集合对于存储数据很有用。在普通数组中,数组大小是固定的。有时需要创建可以根据需要增长的阵列。Java等编程语言有集合。它是一个包含一组类和接口的框架。它充当一组元素的容器。集合允许存储、更新、检索元素集。它有助于处理数据结构,如列表、集合、树和地图。列表是集合框架的一个接口。ArrayList和LinkedList是collections框架中的两个类。它们实现了集合接口和列表接口。本文讨论Arr...

关键区别–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)和双链表(linkedlist)的区别

图01:ArrayList示例

根据上面的程序,创建了一个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()方法用于从列表中移除元素。参考以下程序。

数组表(arraylist)和双链表(linkedlist)的区别

图02:LinkedList示例

根据上述程序,创建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之间的区别。

引用

  • 发表于 2020-10-19 11:43
  • 阅读 ( 231 )
  • 分类:IT

你可能感兴趣的文章

列表(list)和设置(set)的区别

...那么元素1将位于元素2之前。 图01:列表和设置 ArrayList,LinkedList,Vector是一些实现List的类。在ArrayList中,访问元素的速度很快,但**和删除速度较低。ArrayList不是线程安全的。从多个线程访问同一个ArrayList可能不会得到相同的...

  • 发布于 2020-10-19 09:09
  • 阅读 ( 207 )

通用(generic)和c中的非泛型集合#(non-generic collection in c#)的区别

...是c中的泛型集合#(generic collection in c#)? 非通用集合(如ArrayList、Queue、Stack等)可以存储不同数据类型的元素。在获取项目时,程序员应该键入将它们转换为正确的数据类型。否则,它可能会导致运行时异常。通用集合类可以用...

  • 发布于 2020-10-24 01:08
  • 阅读 ( 340 )

单链表(singly linked list)和双链表(doubly linked list)的区别

单链表与双链表 链表是一种用于存储数据集合的线性数据结构。链表在它自己的内存块中将内存分别分配给它的元素,通过将这些元素作为链中的链接链接来获得整体结构。单链表由一系列节点组成,每个节点都有对序列...

  • 发布于 2020-11-02 07:30
  • 阅读 ( 642 )

如何使用java arraylist

... LinkedList支持在中间索引处快速**和删除。 Vector类似于ArrayList,但是同步的,适合于多线程应用程序中替代ArrayList。 堆栈支持模拟后进先出列...

  • 发布于 2021-03-13 20:41
  • 阅读 ( 206 )

数组表(arraylist)和矢量(vector)的区别

ArrayList与Vector 向量实现的数组可以在运行时在添加或删除某些元素时进行增长/收缩。使用整数索引访问其元素。两个字段–容量和容量增量,是矢量存储管理的特征。它实现了四个接口:*列表*随机访问*可克隆*可串行化接口 ...

  • 发布于 2021-06-23 18:41
  • 阅读 ( 239 )

矢量(vector)和列表(list)的区别

... 矢量与列表 经常混淆程序员,向量和列表是在C++和java中数组保存中使用的序列。这两个术语包含数组地址,但包含数组的方法不同。我们需要知道的基本点是,数组是一个“列表”,它包含部分或全部数据,即整数、浮点或字...

  • 发布于 2021-06-23 23:28
  • 阅读 ( 325 )

列表(list)和数组表(arraylist)的区别

...段时间你需要一些知识。 通常,List是一个用于ArrayList或LinkedList的接口。列表是一个通用或通用的工具,其中其他工具更具体。 代码看起来像this:List list =新建ArrayList();接下来是添加类的声明。添加类之后,您可以随时用另...

  • 发布于 2021-06-24 03:08
  • 阅读 ( 219 )

数组列表(array list)和链表(linked list)的区别

...–[name1,name2]。 链表创建: 列表<字符串>linkedlistsample=新建linkedList<字符串>(); 将对象添加到链表: Linkedlistsample.add(“name3”); Linkedlistsample.add(“name4”); 这就是结果链表的样子–[name3,nam...

  • 发布于 2021-06-25 00:29
  • 阅读 ( 322 )

数组(array)和数组表(arraylist)的区别

什么是数组和数组列表(array and arraylist)? Array和ArrayList都是Java程序中常用的基于索引的数据结构。从概念上讲,ArrayList在内部是由数组支持的,然而,理解两者之间的区别是成为优秀Java开发人员的关键。这是最基本的一步,尤...

  • 发布于 2021-06-25 03:21
  • 阅读 ( 682 )

散列表(hashmap)和容器(hashset)的区别

...一组标准接口设计的。这些接口提供了一些标准实现,如LinkedList、HashSet和TreeSet,您可以按原样使用它们。此外,如果您愿意,还可以实现自己的集合。但是,除了集合之外,框架还定义了几个映射接口和类。Java包含三种通用...

  • 发布于 2021-06-25 21:32
  • 阅读 ( 332 )
绿市光芒
绿市光芒

0 篇文章

相关推荐