ArrayList 和 Vector 有什么区别

目录:

Anonim

主要区别 ArrayList 和 Vector 之间是 ArrayList 是非同步的,允许多个线程同时处理一个 ArrayList,而 Vector 是同步的,避免多个线程同时处理一个向量。

Java 等编程语言支持集合,它允许将多个对象存储为一个单元。两个这样的集合是 ArrayList 和 Vector。它们有助于动态存储数据。 ArrayList 是非同步的,这使得 ArrayList 的性能优于 Vector。另一方面,vector 是同步的并且包含许多遗留方法。

数组列表,向量

什么是数组列表

ArrayList 是使用 ArrayListClass 实现的数据结构。这个 ArrayList 类进一步实现了 List 接口。它是数组的更好选择。通常的数组有固定的长度。因此,程序员不能添加比定义的数组大小更多的元素。使用 ArrayList,可以动态更改数组大小。换句话说,程序员可以动态地添加或删除元素。因此,它是一种灵活的数据结构。 ArrayList 维护元素插入顺序。此外,ArrayList 类中有可用的预定义方法。程序员可以在他的程序中使用它们。

图 1:ArrayList 程序

如果你看上面的程序,“fruits”是一个 ArrayList 类型的对象。它可以存储字符串。 add 方法有助于向 ArrayList 插入元素。 2中的元素nd ArrayList 的索引是葡萄。 remove 方法有助于从 ArrayList 中删除“葡萄”。现在只有三个元素可用。 “itr”是一个迭代器。它有助于遍历 ArrayList。最后,while 循环打印 ArrayList 中可用的元素。

什么是矢量

Vector 是使用 Vector 类实现的数据结构。 Vector 类实现了 List 接口。 Vector 维护元素插入顺序。它是同步的。因此,多个线程不能同时在一个向量上工作。通常,向量中添加、删除和更新元素的性能较低。

图 2:矢量程序

在上面的程序中,“vec”是一个可以存储字符串的Vector对象。 add 方法有助于向向量中插入新元素。同样,remove 方法有助于从向量中删除元素。因此,当将“orange”传递给 remove 方法时,该特定元素将从向量中删除。 “en”是一个枚举,它有助于遍历一个向量。最后,while 循环打印向量中可用的元素。

ArrayList 和 Vector 的区别

定义

ArrayList 是一种非同步数据结构,它使用动态数组来存储元素,而 vector 是一种同步数据结构,它使用动态数组来存储元素。因此,这是 ArrayList 和 Vector 之间的根本区别。

表现

性能是 ArrayList 和 Vector 之间的主要区别。 ArrayList 比 Vector 工作得更快。因此,它的性能要高于vector。

同步

总之,同步是 ArrayList 和 Vector 的主要区别。 ArrayList 是非同步的,而向量是同步的。

遍历元素

ArrayList 使用 Iterator 接口遍历元素,vector 使用 Iterator 接口或 Enumeration 接口遍历元素。因此,这是 ArrayList 和 Vector 之间的另一个区别。

数组大小

结论

ArrayList 和 Vector 都允许动态存储元素。 ArrayList 和 Vector 的主要区别在于同步。 ArrayList 是非同步的,允许多个线程同时处理它,而 Vector 是同步的,避免多个线程同时处理它。因此,ArrayList 比 vector 快。

参考:

1. “Java 中的 ArrayList – Javatpoint”。 Www.javatpoint.com,可在此处获得。2。辛格、柴坦尼亚和 J Padilha。 “Java 中的向量。” Beginnersbook.com,2017 年 8 月 8 日,可在此处获取。

ArrayList 和 Vector 有什么区别