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 657http://wuhaoshu.blog.51cto.com/ ... -
jquery选择器总结
2012-11-21 11:43 9461.<script type="text/ja ... -
外网的压力测试
2012-11-07 10:32 1136外网的压力测试,可以使用apache的ab或curl-load ... -
试着学学object-c
2012-11-05 15:50 7961.http://www.neatstudio.com/sho ... -
栈的基本原理,实现自己的堆栈
2012-10-23 10:16 1248栈是重要的数据结构,从数据结构角度看,栈也是线性表,其特殊性在 ... -
java双括弧初始化
2012-10-22 17:39 137501. Map map = new HashMap() {{ ... -
学习java单例模式
2012-10-22 16:16 697http://calmness.iteye.com/blog/ ... -
JsonUtil错误总结
2012-09-26 10:10 1055java.lang.Integer cannot be cas ... -
struts2总结错误
2012-09-25 10:40 7241.数据类型的不对应,一般是,后台要求int而前端的zoneI ... -
Jquery总结
2012-09-18 14:08 0$.toJSON(); $.parseJson(unescap ... -
mysql学习总结
2012-08-23 17:19 8381.<![CDATA[ select ifnull(su ... -
学习强者的成长之路
2012-08-09 10:25 836http://xwnet.blog.51cto.com/233 ... -
MD5正规的写法
2012-07-20 10:26 877public static String getMD5(byt ... -
引用:异常处理!
2012-07-20 09:37 706... -
关于网站的设计
2012-07-19 10:08 740网站的性能优化:http://www.cnblogs.com/ ... -
eval用法
2012-07-12 10:12 877在函数中改变全局变量 var X2={} X2.Eval= ... -
错误总结
2012-07-11 10:38 6371.missing ) in parenthetical错误可 ... -
登录验证struts2
2012-07-09 09:40 738类需要继承ActionSupport,重写execute方法, ... -
学习js的好地方
2012-06-28 13:16 793http://www.zhuoda.org/lunzi/dir ... -
登陆页面
2012-06-26 18:42 978http://themeforest.net/item/dre ...
相关推荐
vector源码.cpp,运用c++实现容器vector的编写
二维vector源码实现 #include <vector> #include #include using namespace std; int main() { int N = 2, M = 3; vector<vector<int> > Matrix(N, vector<int> (M, 0)); ostream_iterator<int> os(cout, ...
在线浏览vector源码
【JAVA Vector 源码解析和示例代码】 在Java编程语言中,`Vector`类是集合框架的一部分,早在JDK 1.0版本就已经存在。`Vector`类继承自`AbstractList`并实现了`List`, `RandomAccess`, `Cloneable`等接口,提供了...
SGI STL之vector源码,带注释
《深入理解C++标准库中的`vector`容器》 在C++标准库中,`std::vector`是一个非常重要的容器,它提供了动态数组的功能。在本文中,我们将深入解析一个自定义实现的`vector`类模板,以帮助我们更好地理解和应用`std:...
6. **其他方法**:`empty()`检查`vector`是否为空,`clear()`清空`vector`的所有元素,`swap(vector<T>& other)`交换两个`vector`的内容。 ### 效率考虑 虽然`vector`提供了许多便利,但在特定操作下,如在中间...
vector 公司网上的 ccp 源码,协议文档,样例和 canape
c++的STL的vector的一个实现。使用了c++11的大部分特性,包含vector的几乎所有功能。仅作学习之用。
C++中的`std::vector`是一个非常重要的容器,它在编程中扮演着动态数组的角色。`vector`允许我们在运行时动态地添加或删除元素,同时提供了高效的数据访问和操作。在VC++(Visual C++)环境中,`vector`通常与MFC...
Vector CCP协议实现源码,ASAM CCP 2.1 Specification,Reference Documentation for the CCP Driver
在C++编程中,`std::vector`是一个非常重要的动态数组容器,它允许高效地进行元素的添加和删除。在本篇文章中,我们将探讨如何利用C++模板来实现一个简单的`Vector`类,以模拟标准库中的`std::vector`。我们将重点...
Vector CCP标定协议代码,经过简单的移植就可以用在项目中
【标题】中的“vector源码Java-Dynamic-Ensemble-Model”揭示了这是一个关于Java编程的项目,专注于实现一种特定的机器学习模型——动态转移集成模型(Dynamic Ensemble Model)。动态集成模型是一种策略,通过在...
这里我们将深入探讨SGI STL中的`vector`源码,了解其内部工作原理和关键实现细节。 1. **内存管理**: - `vector`的核心在于动态内存管理。当添加元素时,如果当前容量不足,`vector`会分配新的内存空间并复制所有...
java面试 【作品名称】:最全的Java面试题、读书笔记、面试经验 【适用人群】:适用于希望学习不同... * [Vector源码剖析](Part2/JavaSE/Vector源码剖析.md) * [HashMap源码剖析](Part2/JavaSE/HashMap源码剖析.md)
VECTOR的can标定协议代码.只需稍微修改即实现通过canape实现ccp相关命令功能.
2. **分析Vector源码**:Vector公司是知名的汽车电子软件供应商,其提供的源码应该包含实现XCP的部分。需要理解这些代码如何处理XCP命令和响应,以及如何与底层硬件交互。 3. **研究TC277 CAN控制器**:熟悉TC277的...
仿写C++ STL标准库 vector 源码,可直接在cpp文件中调用实现
- **Vector源码分析**:理解 `vector` 的底层实现机制,包括如何动态调整容量、如何高效地插入和删除元素等。 - **Red-Black Tree源码分析**:分析红黑树的插入、删除操作以及颜色翻转等维护平衡的策略。 - **Memory...