Vector类和ArrayList都是基于数组实现的,但是Vector是线程安全的,所有大部分方法和ArrayList一样(http://alex-nit.iteye.com/blog/777473),只是多了个synchronized关键字。还有不同的地方是扩容机制不一样,如下方法所示
Java代码
/**
* 确定容量的方法,如果capacityIncrement>0则新的容量=老的容量+capacityIncrement,
否则新的容量=老的容量×2
*/
private void ensureCapacityHelper(int minCapacity) {
int oldCapacity = elementData.length;
if (minCapacity > oldCapacity) {
Object[] oldData = elementData;
int newCapacity = (capacityIncrement > 0) ?
(oldCapacity + capacityIncrement) : (oldCapacity * 2);
if (newCapacity < minCapacity) {
newCapacity = minCapacity;
}
elementData = Arrays.copyOf(elementData, newCapacity);
}
}
Java代码
/**
* 确定容量的方法,如果capacityIncrement>0则新的容量=老的容量+capacityIncrement,
否则新的容量=老的容量×2
*/
private void ensureCapacityHelper(int minCapacity) {
int oldCapacity = elementData.length;
if (minCapacity > oldCapacity) {
Object[] oldData = elementData;
int newCapacity = (capacityIncrement > 0) ?
(oldCapacity + capacityIncrement) : (oldCapacity * 2);
if (newCapacity < minCapacity) {
newCapacity = minCapacity;
}
elementData = Arrays.copyOf(elementData, newCapacity);
}
}
发表评论
-
初学者学习linux
2012-12-19 17:53 711http://wuhaoshu.blog.51cto.com/ ... -
jquery选择器总结
2012-11-21 11:43 9581.<script type="text/ja ... -
外网的压力测试
2012-11-07 10:32 1170外网的压力测试,可以使用apache的ab或curl-load ... -
试着学学object-c
2012-11-05 15:50 8221.http://www.neatstudio.com/sho ... -
栈的基本原理,实现自己的堆栈
2012-10-23 10:16 1260栈是重要的数据结构,从数据结构角度看,栈也是线性表,其特殊性在 ... -
java双括弧初始化
2012-10-22 17:39 139001. Map map = new HashMap() {{ ... -
学习java单例模式
2012-10-22 16:16 718http://calmness.iteye.com/blog/ ... -
JsonUtil错误总结
2012-09-26 10:10 1082java.lang.Integer cannot be cas ... -
struts2总结错误
2012-09-25 10:40 7381.数据类型的不对应,一般是,后台要求int而前端的zoneI ... -
Jquery总结
2012-09-18 14:08 0$.toJSON(); $.parseJson(unescap ... -
mysql学习总结
2012-08-23 17:19 8491.< * [HashMap源码剖析](Part2/JavaSE/HashMap源码剖析.md)
2. **分析Vector源码**:Vector公司是知名的汽车电子软件供应商,其提供的源码应该包含实现XCP的部分。需要理解这些代码如何处理XCP命令和响应,以及如何与底层硬件交互。 3. **研究TC277 CAN控制器**:熟悉TC277的...