`

Vector的用法

 
阅读更多
Vector是java.util包的类,他的功能是实现了一个动态增长的数组,像其他数组一样,此向量数组可以为每个包含的元素分配一下整数索引号,但是,向量不同于数组,它的长度可以在创建以后根据实际包含的元素个数增加或减少。
  向

Vector是java.util包的类,他的功能是实现了一个动态增长的数组,像其他数组一样,此向量数组可以为每个包含的元素分配一下整数索引号,但是,向量不同于数组,它的长度可以在创建以后根据实际包含的元素个数增加或减少。
  向量对象是通过capacity(容量)和capacityIncrement(增长幅度)两个因素来实现存储优化管理。容量因素的值总是大于向量的长度,因为当元素被添加到向量中,向量存储长度的增加是以增长幅度因素指定的值来增加的,应用程序可以在插入大量元素前,先根据需要增加适量的向量容量,这样,可以避免增加多余的存储空间。
  以上是参考手册里对Vector的介绍,下面是我学习中的一些心得:
  Vector有三个构造函数
  public Vector(int initialCapacity,int capacityIncrement)
public Vector(int initialCapacity)
public Vector()
这三个构造函数的差别仅仅在于对向量的初始容量和增长幅度的定义上,向量的增长过程是当当前容易不能满足添加的元素时,就按照构造时给定的增长幅度来增加,如果未定义增长幅度,则每次增加的时候会成倍增加。举个例。
  Vector t=new Vetor(4,0);
for(int i=0;i<20;i++)
t.addElement(new String("ft"));
那么实际运行后,t的容量是4*2*2*2=32,
如果改写成
Vector t=new Vetor(4,3);
for(int i=0;i<20;i++)
t.addElement(new String("ft"));
那么实际运行后,t的容量是4+3+3+3+3+3+3=22,
  但如果写成
Vector t=new Vetor();
for(int i=0;i<20;i++)
t.addElement(new String("ft"));
则运行后t的容量是20,我测试过,好像用默认的构造函数,初始容量是10,以后每次翻倍,这样容易造成空间的浪费,因为建议不采用这种构造函数。
  Vector类有很多方法,其实像常用的有addElement(),removeElementAt(int index),insertElementAt(Object obj,int index)等方法,这些方法从字面上就很容易理解,其实与数组的操作差不多。
  Vector类的要点就在于对存储空间的操作,因为主要是讲一下下面的几个方法:
  public void trimToSize()
  该方法用于删除掉向量中大于向量当前长度的多余容量,应用程序通过使用此方法可以使向量容量刚好满足元素存储的最小需要。
  public void ensureCapacity(int minCapacity)
该方法用于增加向量的容量,保证增加后的向量容量不小于给定的参数。对这个方法我作过测试,使用这个方法后向量容量增加的幅度与构造Vector类时的构造方法有关,如果构造函数时给定的向量增加幅度为0,那么使用这个方法后容量会成倍增长,如果构造函数时给定了不为0的向量增加幅度,那么使用这个方法后容量会以给定的幅度为单位增长。
  public void setSize(int newSize)
该方法用于设置向量的长度,如果新设置的长度大于向量的当前长度,新增的内容为空的元素被添加到当前向量的尾部。如果新设置的长度小于向量当前的长度,索引值大于新设置长度的元素将被截取。

  Vector实际上就是一种特殊的数组,由于他的通用性,他的元素都是Object类,所以对Vector的元素增加或者读取都要进行类型转换。如:

  Vector t=new Vector();
t.addElement(new String("vector"));
system.out.println((String)t.elementAt(0));

t.addElement((Image)(pic));
g.drawImage((Image)(t.elementAt(1)),0,0,0);
分享到:
评论

相关推荐

    清华大学C++课件中vector用法实例

    清华大学C++课件中vector用法实例 本文将详细介绍清华大学C++课件中vector用法实例,涵盖了vector的基本操作、算法和函数对象的使用。...通过本文,读者可以更好地理解C++ STL中的vector容器,并掌握它的使用方法。

    C++_Vector用法深入剖析

    ### C++ Vector 用法深入剖析 #### 一、Vector 的基本概念与使用场景 Vector 是 C++ 标准模板库 (STL) 中的一种容器,它可以被理解为一种能够自动管理内存的动态数组。Vector 支持随机访问,并且在内部通过一个...

    C++数组vector用法.pdf

    C++数组vector用法.pdf C++ 标准库中的容器类 vector 是一种非常重要的数据结构,用于管理动态数组。下面我们将详细介绍 vector 的优点和使用注意事项。 为什么选择 vector? 在一些使用 MFC 的程序中,经常看到...

    C++ Vector使用方法

    下面我们将详细探讨`vector`的使用方法和相关知识点。 首先,引入`vector`所需的头文件是`#include &lt;vector&gt;`。`vector`是一个模板类,可以用来存储不同类型的数据,例如整数、浮点数或者自定义对象。例如,`vector...

    动态数组vector用法.docx

    动态数组vector用法 动态数组vector是C++ STL(Standard Template Library)中的一种容器,用于存储和操作动态大小的数组。下面是关于vector的一些重要知识点: Vector概述 vector是一种Sequence Container,...

    VC中vector用法

    在VC(Visual C++)中,`vector`是标准库中的一个重要容器,它提供了一种动态数组的功能,能够根据需要自动调整大小...以上就是VC中`vector`的主要用法和特性,掌握这些知识将帮助你在实际编程中更高效地使用`vector`。

    C++Vector用法详解.pdf

    ### C++ Vector 用法详解 #### 一、Vector 概述 `vector` 是 C++ 标准模板库(STL, Standard Template Library)中的一种动态数组容器,它可以自动管理内存并根据需要调整大小。作为一种高效且灵活的数据结构,`...

    最全Vector用法总结.pdf

    《最全Vector用法总结》 C++标准库中的`std::vector`是一个非常重要的容器,它提供了动态数组的功能,支持高效地进行插入和删除操作。`vector`的存储空间是连续的,这使得随机访问其元素变得非常快速。本文将全面...

    最全Vector用法总结.docx

    《最全Vector用法总结》 在C++标准库中,`std::vector`是一个非常重要的容器,它提供了动态数组的功能,允许我们在运行时改变其大小。`std::vector`是容器模板类,提供了许多便利的操作,使得在处理序列数据时更加...

    java中vector的用法

    这个示例代码展示了如何使用 Vector 的各种方法来操作向量。输出结果如下: ``` [one] [one, two] [one, two, three] [zero, one, two, three] [zero, one, two, oop, three] [zero, one, two, three, three] [zero,...

    动态数组vector用法[借鉴].pdf

    《动态数组vector用法详解》 在C++编程中,`std::vector`是一个非常重要的容器,它模拟了动态数组的行为,提供了灵活且高效的内存管理。这篇文章将深入探讨`std::vector`的用法,包括其核心特性、成员函数以及在...

    c++中vector用法集合

    下面我们将深入探讨`vector`的使用方法。 1. **创建和初始化**: - `vector`的创建可以使用默认构造函数,也可以指定初始容量或提供一个初始元素序列。 - 使用`push_back()`方法添加元素到`vector`末尾。 - 初始...

    vector用法的源代码资源

    这里我们将深入探讨`vector`的使用方法、常见操作以及其背后的实现原理。 一、`vector`的基本概念 `vector`是一个可以自动调整大小的数组,它存储一个元素序列,并且可以像数组一样通过索引来访问元素。`vector`的...

    std vector用法详解

    vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放...

    Vector用法介绍

    ### Vector用法介绍 #### 一、std::vector 概述与基本操作 `std::vector` 是 C++ 标准库中一个非常强大的容器类模板,它支持动态大小的数组,可以方便地进行元素的添加和删除。相比于 C 风格的动态数组(即 `int *...

    vector的用法深入解析

    "vector 用法深入解析" vector 是 C++ 标准库中的一个类模板,它提供了一个动态数组的机制,能够自动扩展和收缩以适应不同的数据量。下面将深入解析 vector 的用法和特性。 一、 vector 的定义和初始化 vector ...

    c++中的vector的使用方法

    ### C++中的Vector使用方法详解 #### 一、Vector简介 在C++中,`vector`是标准模板库(STL)中的一个重要组成部分,它提供了一种动态数组的功能,能够自动管理内存并支持随机访问。相比于传统的C风格数组,`vector`...

    c++ vector用法精讲(很精辟

    在本文中,我们将深入探讨`std::vector`的用法,包括其定义、初始化、值初始化以及各种操作。 首先,`std::vector`是一个模板类,它的实例可以存储任意类型的元素。例如,`vector&lt;int&gt;`表示一个存储整数的`std::...

    MFC的vector小例子

    在这个"MFC的vector小例子"中,我们将探讨`std::vector`的基础用法以及它在MFC项目中的应用。 1. **`std::vector`的定义与初始化** `std::vector`可以用来存储任何类型的对象,只需要提供对象的类型即可。例如,...

Global site tag (gtag.js) - Google Analytics