Java中的Vector容器怎么用(java,vector,开发技术)

时间:2024-05-02 03:28:35 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Java%E4%B8%AD%E7%9A%84Vector%E5%AE%B9%E5%99%A8%E6%80%8E%E4%B9%88%E7%94%A8

知识补充:Arrays.copyOf函数:

可见copyOf()在内部新建一个数组,调用arrayCopy()将original内容复制到copy中去,并且长度为newLength。返回copy;

继续看一下System.arraycopy函数:

src - 源数组。

srcPos - 源数组中的起始位置。

dest - 目标数组。

destPos - 目标数据中的起始位置。

length - 要复制的数组元素的数量。

该方法是用了native关键字,调用的为C++编写的底层函数,可见其为JDK中的底层函数。

Vector类实现了一个可增长的对象数组,内部是以动态数组的形式来存储数据的。

Vector具有数组所具有的特性、通过索引支持随机访问、所以通过随机访问Vector中的元素效率非常高、但是执行插入、删除时效率比较低下。

继承了AbstractList,此类提供 List 接口的骨干实现,以最大限度地减少实现”随机访问”数据存储(如数组)支持的该接口所需的工作.对于连续的访问数据(如链表),应优先使用 AbstractSequentialList,而不是此类.

实现了List接口,意味着Vector元素是有序的,可以重复的,可以有null元素的集合.

实现了RandomAccess接口标识着其支持随机快速访问,实际上,我们查看RandomAccess源码可以看到,其实里面什么都没有定义.因为ArrayList底层是数组,那么随机快速访问是理所当然的,访问速度O(1).

实现了Cloneable接口,标识着可以它可以被复制.注意,ArrayList里面的clone()复制其实是浅复制

实现了Serializable 标识着集合可被序列化。

Vector实际上是通过一个数组去保存数据的。当我们构造Vecotr时;若使用默认构造函数,则Vector的默认容量大小是10。

当Vector容量不足以容纳全部元素时,Vector的容量会增加。若容量增加系数 >0,则将容量的值增加“容量增加系数”;否则,将容量大小增加一倍。

Vector的克隆函数,即是将全部元素克隆到一个数组中。

1. 随机访问遍历,通过索引值去遍历

由于Vector实现了RandomAccess接口,它支持通过索引值去随机访问元素。

2. 通过迭代器遍历。即通过Iterator去遍历

3. 通过增强for循环去遍历

4. 通过Enumeration遍历

测试这些遍历方式效率的代码如下:

输出如下:

iteratorThroughRandomAccess:3 ms
iteratorThroughIterator:6 ms
iteratorThroughFor2:5 ms
iteratorThroughEnumeration:5 ms

所以:遍历Vector,使用索引的随机访问方式最快,使用迭代器最慢。

本文:Java中的Vector容器怎么用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何使用Java方法来实现一个简单的ATM功能下一篇:

19 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18