欢迎光临
我们一直在努力

ArrayList VS LinkedList VS Vector

一、列表概述

List,顾名思义,是元素的有序序列。

当我们讨论List时,最好将它与Set(一组惟一的无序元素)进行比较。

下面是集合的类层次结构图。

从层次结构图中,您可以了解Java集合的一般概念。

ArrayList VS LinkedList VS Vector

二、ArrayList vs。LinkedList vs。Vector

在层次结构图中,它们都实现了List接口。

它们非常相似。

它们的主要区别在于它们的实现,这导致了不同操作的不同性能。

ArrayList实现为可调整大小的数组。

随着更多的元素被添加到ArrayList中,它的大小会动态增加。

它的元素可以通过使用get和set方法直接访问,因为ArrayList本质上是一个数组。

LinkedList实现为一个双链表。

它在添加和删除上的性能优于Arraylist,但在get和set方法上的性能则较差。

VectorArrayList类似,但它是同步的。

如果你的程序是线程安全的,ArrayList是一个更好的选择。

随着元素的增加,Vector和ArrayList需要更多的空间。

Vector每次都使其数组大小加倍,而ArrayList每次都增长其大小的50%。

LinkedList还实现了队列接口,它添加了比ArrayList和Vector更多的方法,如offer()、peek()、poll()等。

注意:ArrayList的默认初始容量非常小。

构造具有较高初始容量的ArrayList是一个好习惯。这样可以避免调整大小的成本。

三、ArrayList的例子

ArrayList VS LinkedList VS Vector

4. LinkedList的例子

ArrayList VS LinkedList VS Vector

如上例所示,它们与use类似。

真正的区别在于它们的底层实现和操作复杂性。

5. Vector

Vector和ArrayList几乎是相同的,区别在于Vector是同步的。

因此,它的开销比ArrayList大。

通常,大多数Java程序员使用ArrayList而不是Vector,因为他们可以显式地自己同步。

扩展阅读

ArrayList必知必会

Java ArrayList 工作原理及实现

ArrayList,LinkedList和String

关于Java编程,Vector、ArraysList和LinkedList有什么区别?

漫画算法:如何判断链表有环?

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:英协网 » ArrayList VS LinkedList VS Vector

分享到: 生成海报
avatar

热门文章

  • 评论 抢沙发

    • QQ号
    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址

    登录

    忘记密码 ?

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活