`
liuxinglanyue
  • 浏览: 562656 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Vector类源代码欣赏

 
阅读更多

Vector类和ArrayList都是基于数组实现的,但是Vector是线程安全的,所有大部分方法和ArrayList一样,只是多了个synchronized关键字。还有不同的地方是扩容机制不一样,如下方法所示 

 

/**
     * 确定容量的方法,如果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);
	}
    }
 
分享到:
评论

相关推荐

    Vector-XCP 源代码

    "Vector-XCP 源代码" 是一个与嵌入式汽车电子控制单元(ECU)开发相关的源代码包,其中包含了XCP(eXtended Calibration Protocol)协议的相关实现和文档。XCP是一种广泛用于ECU标定和数据采集的标准通信协议,特别...

    vector源代码下载

    在本文中,我们将深入解析一个自定义实现的`vector`类模板,以帮助我们更好地理解和应用`std::vector`。 首先,`vector`类模板定义了以下主要类型别名: 1. `iterator`:表示`vector`的迭代器,通常用于遍历元素。 ...

    vector类 代码实现

    使用C++语言实现标准库容器vector类代码,虽然与标准库源码有点出入,但功能已经大部分实现。

    java-Vector类源代码与分析.docx

    } // 克隆当前 Vector,返回一个新的 Vector,包含相同元素 public synchronized Vector&lt;E&gt; clone() { try { Vector&lt;E&gt; v = (Vector) super.clone(); v.elementData = Arrays.copyOf(elementData, elementCount); v...

    vector用法的源代码资源

    在C++编程中,`std::...在实际编程中,熟练掌握`vector`的使用能够极大地提高代码的效率和可读性。通过以上讲解,你应该对`vector`有了更深入的理解。在实际项目中,根据需求选择合适的容器,是优化代码性能的关键。

    C标准库源代码(学习C/C++必备)

    C标准库源代码,能提高对C的理解,不错的哦 下载文件列表 Pack : clibsource.rar C 标准库源代码\ABORT.C C标准库源代码\ABS.C C标准库源代码\ACCESS.C C标准库源代码\ADJUSTFD.C C标准库源代码\ALGRITHM C标准库源...

    SVM分类源代码(可以直接使用,含详细注释)

    本压缩包提供了一套完整的SVM分类源代码,特别适合初学者理解和实践。** **SVM核心概念:** 1. **间隔最大化**:SVM的目标是找到一个超平面,使得两类样本在该超平面上的间隔最大。间隔是分类器的鲁棒性指标,大的...

    文本分类程序源代码

    在这个场景下,我们讨论的是一个使用Visual C++(简称VC)编写的文本分类程序的源代码。这个程序可能使用了支持向量机(SVM)作为其核心算法,因为压缩包中的文件名为“svmcls”,这通常表示与SVM分类相关的实现。 ...

    易学C++源代码

    12. **STL(Standard Template Library)**:C++的STL提供了容器(如vector、list、set)、迭代器、算法等工具,源代码可能会使用这些工具来解决实际问题。 通过《易学C++源代码》的学习,初学者不仅可以掌握C++的...

    自己编写的类vector类

    自己编写的类vector类,可以实现vector的大部分功能。 该类包含的功能有: 初始化: 默认初始化 拷贝初始化 列表初始化 使用数目和值进行初始化 赋值 操作: size 返回元素数目 capatity 返回容器暂时可...

    Accelerated C++ 源代码

    7. **STL(Standard Template Library)**:C++标准模板库的运用,如容器(vector、list、set等)、迭代器、算法等,都在源代码中有所体现。 8. **异常处理**:学习如何在代码中使用try-catch语句来捕获和处理可能...

    VECTOR的CCP源码(CAN标定协议代码)

    VECTOR的can标定协议代码.只需稍微修改即实现通过canape实现ccp相关命令功能.

    小波变换C++源代码

    在"小波变换C++源代码"中,我们可以预期找到以下几个关键知识点: 1. **小波基函数**:小波变换的基础是小波基函数,常见的有Haar小波、Daubechies小波、Morlet小波等。不同的小波基适用于不同的信号特性,源代码...

    c++面向对象程序设计例题源代码

    源代码中可能会展示如何声明和定义类,以及如何创建和使用对象。 2. 封装:封装是将数据和操作数据的方法绑定在一起的过程,防止外部直接访问对象的内部细节。在源代码中,会看到private和public关键字的使用,以及...

    Vector CCP协议实现C源码

    Vector CCP协议实现源码,ASAM CCP 2.1 Specification,Reference Documentation for the CCP Driver

    C++魂斗罗源代码

    《C++魂斗罗源代码》是一份专为学习C++编程和游戏开发设计的资源。这个项目使用了C++语言来实现经典游戏——魂斗罗的代码逻辑,旨在帮助开发者理解和掌握C++在游戏开发中的应用。通过分析和研究这份源代码,我们可以...

    Professinal C++ 源代码

    书中源代码将展示如何定义类、构造函数、析构函数,以及如何使用虚函数实现多态性。 4. **STL(标准模板库)**:C++的重要组成部分,包括容器(如vector、list、set、map)、迭代器、算法和函数对象。通过源代码,...

    谭浩强 c++源代码

    这份源代码分为不同的章节,每个章节都对应着C++的一个关键知识点,如变量、运算符、控制结构、函数、类与对象等,让学习者能够循序渐进地进行学习。 1. **基础语法**:C++的基础包括变量声明、数据类型(如int、...

    Vector 类实现

    在Java编程语言中,`Vector`类是一个古老的集合类,它在Java的早期版本(1.0)就已经存在,并且在后续版本中一直保留。`Vector`类是`java.util`包的一部分,实现了`List`接口,这意味着它可以存储、管理和操作一系列...

    员工工资管理系统源代码

    【员工工资管理系统源代码】是一个基于C++编程语言开发的应用程序,主要用于管理和维护企业内部的员工工资信息。这个系统的设计和实现旨在简化人力资源部门的工作,提高数据处理的效率和准确性,确保员工工资发放的...

Global site tag (gtag.js) - Google Analytics