vector 初始化_Java中Vector和ArrayList之间的区别

9132b72c88e9ec6245a6f94cd24348de.png

java.util.Vector与Java开发工具包(JDK)的第一个版本一起提供。 java.util.ArrayList在Java版本1.2中引入,是Java集合框架的一部分。根据Java API,在Java 2平台v1.2中,vector已进行了改进以实现List,vector也成为java collection框架的一部分。

Vector的所有方法都是同步的。但是,ArrayList的方法不同步。 Java collection框架的所有新实现均未同步。

Vector和ArrayList都在内部使用Array作为数据结构。它们是可动态调整大小的。区别在于内部调整大小的方式。默认情况下,Vector的大小增加时,Vector会将数组的大小加倍。但是,当ArrayList的大小增加时,其大小将增加一半。 因此,根据Java API,唯一的主要区别是,Vector的方法是同步的,而ArrayList的方法是不同步的。

Vector还是ArrayList?在Java中使用哪个更好?

通常,执行“同步”方法会比不同步方法产生更高的性能。记住差异,使用Vector会比ArrayList产生性能下降。但是,当确实需要线程安全操作时,需要使用Vector。

Java中是否有Vector的替代版本?

可以使用java collection utility 工具类同步ArrayList,然后可以使用ArrayList本身来代替Vector。当不需要同步操作并且您仍在寻找更好的性能时,可以使用“ Array”代替ArrayList。但是开发过程很繁琐,因为它不提供用户友好的方法。使用Vector或ArrayList时,请始终将其初始化为Java程序所需的最大容量。由于增加大小是较昂贵的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值