首页 > 其他分享 >ArrayList 和 Vector 的区别是什么?

ArrayList 和 Vector 的区别是什么?

时间:2023-03-17 09:01:23浏览次数:36  
标签:区别 ArrayList 增加 Vector 线程 存储单元 存储空间

同步性

Vector是线程安全的,也就是说是它的方法之间是线程同步的,而ArrayList是线程序不安全的,它的方法之间是线程不同步的。如果只有一个线程会访问到集合,那最好是使用ArrayList,因为它不考虑线程安全,效率会高些;如果有多个线程会访问到集合,那最好是使用Vector,因为不需要我们自己再去考虑和编写线程安全的代码。

扩容

ArrayList与Vector都有一个初始的容量大小,当存储进它们里面的元素的个数超过了容量时,就需要增加ArrayList与Vector的存储空间,每次要增加存储空间时,不是只增加一个存储单元,而是增加多个存储单元,每次增加的存储单元的个数在内存空间利用与程序效率之间要取得一定的平衡。

默认的,Vector增长原来的一倍,ArrayList增加原来的0.5倍。

标签:区别,ArrayList,增加,Vector,线程,存储单元,存储空间
From: https://www.cnblogs.com/xfeiyun/p/17225361.html

相关文章

  • Restful、SOAP、RPC、SOA、微服务之间的区别
    内容大纲:1.介绍Restful、SOAP、RPC、SOA以及微服务2.重点谈谈SOA与微服务的区别3.以及为什么要使用微服务架构什么是RestfulRestful是一种架构设计风格,提供了设计原......
  • 计算,存储,网络虚拟化区别
     计算虚拟化1.什么是虚拟化什么是虚拟化:虚拟化是一种技术,将物理设备进行逻辑化,转化成文件夹或文件,实现软硬件解耦好处:    1.提高资源利用率   ......
  • 你能说说进程与线程的区别吗
    进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进......
  • 爬虫 相关 requests模块介绍、requests发送get请求、requests携带参数、url编码解码、
    爬虫介绍爬虫是什么爬虫就是程序---》从互联网中,各个网站上,爬取数据[能浏览的页面才能爬],做数据清洗,入库爬虫的本质模拟方式http请求,获取数据---》入库......
  • “==” 与 equals 区别 简化易懂版
    首先,我们只需要看Object中的equals方法写的是啥 很显然,就是一句话,“==”与equals方法作用完全一致。都是用来比较在内存的首地址,即用来比较两个引用变量是否指向同......
  • YOLO五种网络结构区别 n s m l x
    五种网络的比较Yolov5代码中的五种网络,内容基本上都是一样的,只有最上方的depth_multiple和width_multiple两个参数不同。就是这两个参数(网络深度和网络宽度)决定着四种版本......
  • CreateThread与beginthreadex区别
    CreateThread与beginthreadex区别两个函数都是用于创建线程,第一个是WindowsAPI函数,在WinBase.h头文件中,第二个不是API函数,在process.h头文件中参数说明:1.线程安全性:表示是......
  • SQL Server decimal 和 numeric 区别
    最近看到了decimal和numeric,又记不起来区别是什么,还是总结一下。decimal和numeric在SQL标准中可以说是等价的的,在SQLServer中是一样的(参考:decimal和numeric(......
  • 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
    一、如图 二、BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专......
  • mysql中单引号双引号的区别
    单独使用时,单引号和双引号没有区别;需要嵌套使用时,双引号和单引号可以互相嵌套。使用的结果是把内部的内容当做整体一个字符串变量不需要成对出现SELECT *FROM `exc......