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

ArrayList与Vector...

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

ArrayList与Vector

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

ArrayList和vectors一样,也实现了四个接口。同样,和向量一样,它的大小在运行时也会发生变化。此外,它还有一个名为capacity的字段,其大小与ArrayList的大小一样大。

vectors和ArrayList都适合从任何位置检索元素,也适合从容器类的末尾**或删除元素。那么两者的区别到底在哪里呢?以下几点将对这一问题有所帮助:

1.同步:矢量同步,ArrayList不同步。如果从ArrayList中添加或删除元素,则称为结构修改。当多个线程同时访问一个ArrayList和一个修改列表的代码块时,就需要从外部同步列表。简而言之,向量内容是线程安全的,而ArrayList不是。如果要求没有提到线程安全的集合,那么应该选择ArrayList,因为同步会影响性能。非同步数组列表速度很快。

2.数据增长:ArrayList和vector元素都存储为数组,但vector的默认大小为10,ArrayList没有默认大小。当向ArrayList或vector添加元素时,两个类都有可能耗尽空间。在这种情况下,默认情况下,向量的大小是它的两倍,而ArrayList的大小增加了50%。对于ArrayList无法使用的向量,可以设置增量值。

3.遍历元素:ArrayList在这里有一个优势,因为您可以通过简单地使用索引来访问它的元素。对于向量,您需要创建一个迭代器来遍历它的元素。

总结:

1.如果容器类要由单个线程或某个局部变量修改,则应使用ArrayList。2.当容器类由多个线程访问时,然后使用向量,否则您将不得不进行手动同步。3.我们可以用向量指定增量大小,但不能用ArrayList指定增量大小。4.向量是同步的,而ArrayList不是。5.向量可以将大小增加一倍;ArrayList可以增加50%。

  • 发表于 2021-06-23 18:41
  • 阅读 ( 243 )
  • 分类:IT

你可能感兴趣的文章

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

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

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

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

关键区别–arraylist与linkedlist 集合对于存储数据很有用。在普通数组中,数组大小是固定的。有时需要创建可以根据需要增长的阵列。Java等编程语言有集合。它是一个包含一组类和接口的框架。它充当一组元素的容器。集合...

  • 发布于 2020-10-19 11:43
  • 阅读 ( 234 )

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

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

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

载体(carrier)和矢量(vector)的区别

载体(carrier)和矢量(vector)的区别 疾病是由病原微生物和感染性微粒引起的。疾病通过媒介和携带者传播。携带者是指有疾病但没有症状的个体;它能够将疾病传染给新的个体。传病媒介是一种能够将疾病从受感染的个体传染...

  • 发布于 2020-10-26 20:34
  • 阅读 ( 411 )

如何使用java arraylist

JavaArrayList是一个通用的可调整大小的数组。它提供了其他语言中数组通常需要的大部分功能。这些操作包括:使用索引访问元素、添加、删除和更新元素、动态重新调整大小、对元素进行迭代等。这些操作中的大多数都经过了...

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

矢量(vector)和矩阵(matrix)的区别

...行向量)或一列(列向量)来定义向量的组成部分。高维数组的数字或矩阵定义了一个向量,这是所谓的张量推广的组成部分。 总结: 1.矩阵是一个数字的矩形数组,而向量是一个具有大小和方向的数学量。2.向量和矩阵都用一...

  • 发布于 2021-06-23 16:26
  • 阅读 ( 862 )

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

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

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

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

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

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

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

...是他们,有什么区别(they, and what’s the difference)? List和ArrayList是Java和C语言中的一些代码,允许您设置和调用参数。在坚果壳里。困惑的?我也是。下一段时间你需要一些知识。 通常,List是一个用于ArrayList或LinkedList的接口。列...

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

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

...们看看这两种存储机制的Java语法。 数组列表创建: List arraylistsample=new ArrayList(); 将对象添加到阵列列表: Arraylistsample.add(“name1”); Arraylistsample.add(“name2”); 这就是结果数组列表的样子–[name1,name2]。 链表创建:...

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

0 篇文章

相关推荐