比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 数据库 /Arraylist和Vector的区别

Arraylist和Vector的区别

2011年6月28日发布的Indika

Arraylist vs向量

一个数组列表可以被看作一个动态数组,它的大小可以增长。由于这个原因,程序员在定义数组列表时不需要知道它的大小。Vector也可以被看作是一个可以增加大小的数组。向量可以很容易地分配,并且可以用于在运行时之前不知道所需的存储大小的情况下。

什么是数组列表?

一个数组列表可以被看作一个动态数组,它的大小可以增长。因此,在不知道声明时所需元素的大小的情况下,使用数组列表是理想的。在Java中,数组列表只能保存对象,它们不能直接保存基元类型(您可以将基元类型放在对象中或使用基元类型的包装器类)。通常,数组列表提供了执行插入、删除和搜索的方法。访问一个元素的时间复杂度为o(1),插入和删除的时间复杂度为o(n)。在Java中,可以使用foreach循环、迭代器或简单地使用索引遍历数组列表。在Java中,数组列表是从1.2版本引入的,它是Java集合框架的一部分。

什么是Vector?

Vector也是一个可以增加大小的数组。向量可以很容易地分配,并且在运行时才知道所需的存储大小时可以使用向量。向量也只能保存对象,不能保存原语类型。向量是同步的,因此可以在多线程环境中安全地使用。向量提供了添加对象、删除对象和搜索对象的方法。与java中的数组列表类似,可以使用foreach循环、迭代器或简单地使用索引遍历向量。说到Java,从Java的第一个版本开始就包含了向量。

数组列表和向量的区别是什么?

尽管数组列表和向量都非常类似于可以增加大小的动态数组,但它们有一些重要的区别。数组列表和向量之间的主要区别在于,向量是同步的,而数组列表是不同步的。因此,在多线程环境中使用数组列表并不合适,而向量可以在多线程环境中安全地使用(因为它们是线程安全的)。但是向量的同步会导致性能下降。因此,在单线程环境中使用向量不是一个好主意。在内部,数组列表和向量都使用数组来保存对象。当当前空间不够时,vector将使其内部数组的大小增加一倍,而arraylist将其内部数组的大小增加50%。但是当同时使用数组列表和向量时,通过给出合适的初始容量,可以避免不必要的调整内部数组的大小。在已知数据增长率的情况下,可以定义向量的增量值,因此使用向量更合适。

相关文章:

数组与数组列表的区别 RDBMS和OODBMS的区别 SAP和ORACLE的区别 Java和Oracle的区别 封装和抽象的区别

了下:数据库标记:数组,数组列表,arraylist,Arraylist在Java中,Arraylists,动态数组,Java,多线程环境中,向量,向量在java中,向量

关于作者:Indika

Indika,二元同步通信。工程硕士,计算机工程硕士,博士。计算机科学助理教授,在生物信息学、计算生物学和生物医学自然语言处理领域有研究兴趣。

留下一个回复取消回复

您的电邮地址将不会公布。必填项已标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒与SARS的区别

冠状病毒与SARS的区别

冠状病毒和流感的区别

冠状病毒和流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能会喜欢

碳酸钠和碳酸氢钠的区别

碳酸钠和碳酸氢钠的区别

人造丝和粘胶的区别

机器龙和机器爬行动物的区别

Knudsen与分子扩散的区别

Knudsen与分子扩散的区别

木琴和马林巴琴的区别

木琴和马林巴琴的区别

最新的文章

  • 2B和HB铅笔有什么区别
  • 下丘脑和脑垂体有什么区别
  • 石墨和铅的区别是什么
  • “症状”和“综合症”有什么区别
  • 血小板栓和血凝块有什么区别
  • 凝集和血凝的区别是什么
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权©2010 - 2018之间的区别.保留所有权利。使用条款和隐私政策:法律.